class NamesSearchOptions(SearchOptions): """Search options.""" suggest_parser_cls = SuggestQueryParser.factory(fields=[ 'name^100', 'family_name^100', 'given_name^100', 'identifiers.identifier^20', 'affiliations.name^10', ], ) sort_default = 'bestmatch' sort_default_no_query = 'name' sort_options = { "bestmatch": dict( title=_('Best match'), fields=['_score'], # ES defaults to desc on `_score` field ), "name": dict( title=_('Name'), fields=['name_sort'], ), "newest": dict( title=_('Newest'), fields=['-created'], ), "oldest": dict( title=_('Oldest'), fields=['created'], ), }
class FundersSearchOptions(SearchOptions): """Search options.""" suggest_parser_cls = SuggestQueryParser.factory(fields=[ 'name^100', 'title.*^5', 'title.*._2gram', 'title.*._3gram', ]) sort_default = 'bestmatch' sort_default_no_query = 'name' sort_options = { "bestmatch": dict( title=_('Best match'), fields=['_score'], # ES defaults to desc on `_score` field ), "name": dict( title=_('Name'), fields=['name_sort'], ), "newest": dict( title=_('Newest'), fields=['-created'], ), "oldest": dict( title=_('Oldest'), fields=['created'], ), }
class AwardsSearchOptions(SearchOptions): """Search options.""" suggest_parser_cls = SuggestQueryParser.factory(fields=[ 'acronym^100', 'title.*^50', 'title.*._2gram', 'title.*._3gram', 'number^10' ], )
class VocabularySearchOptions(SearchOptions): """Search options.""" params_interpreters_cls = [ FilterParam.factory(param='tags', field='tags'), ] + SearchOptions.params_interpreters_cls suggest_parser_cls = SuggestQueryParser.factory(fields=[ 'id.text^100', 'id.text._2gram', 'id.text._3gram', 'title.en^5', 'title.en._2gram', 'title.en._3gram', ], ) sort_default = 'bestmatch' sort_default_no_query = 'title' sort_options = { "bestmatch": dict( title=_('Best match'), fields=['_score'], # ES defaults to desc on `_score` field ), "title": dict( title=_('Title'), fields=['title_sort'], ), "newest": dict( title=_('Newest'), fields=['-created'], ), "oldest": dict( title=_('Oldest'), fields=['created'], ), }