Пример #1
0
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'],
        ),
    }
Пример #2
0
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'],
        ),
    }
Пример #3
0
class AwardsSearchOptions(SearchOptions):
    """Search options."""

    suggest_parser_cls = SuggestQueryParser.factory(fields=[
        'acronym^100', 'title.*^50', 'title.*._2gram', 'title.*._3gram',
        'number^10'
    ], )
Пример #4
0
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'],
        ),
    }