-
Notifications
You must be signed in to change notification settings - Fork 27
/
search.py
37 lines (33 loc) · 1.94 KB
/
search.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from elasticsearch_dsl import TermsFacet
from core.common.constants import FACET_SIZE
from core.common.search import CustomESFacetedSearch
from core.mappings.models import Mapping
class MappingFacetedSearch(CustomESFacetedSearch):
index = 'mappings'
doc_types = [Mapping]
fields = [
'map_type', 'retired', 'source', 'owner', 'owner_type', 'is_latest_version',
'from_concept_owner', 'to_concept_owner', 'from_concept_owner_type', 'to_concept_owner_type',
'from_concept_source', 'to_concept_source', 'collection', 'extras', 'updated_by'
]
facets = {
'toConceptSource': TermsFacet(field='to_concept_source', size=100),
'fromConceptSource': TermsFacet(field='from_concept_source', size=FACET_SIZE),
'toConceptOwnerType': TermsFacet(field='to_concept_owner_type'),
'fromConceptOwnerType': TermsFacet(field='from_concept_owner_type'),
'toConceptOwner': TermsFacet(field='to_concept_owner', size=FACET_SIZE),
'fromConceptOwner': TermsFacet(field='from_concept_owner', size=FACET_SIZE),
'mapType': TermsFacet(field='map_type', size=100),
'retired': TermsFacet(field='retired'),
'source': TermsFacet(field='source', size=FACET_SIZE),
'collection': TermsFacet(field='collection', size=FACET_SIZE),
'owner': TermsFacet(field='owner', size=FACET_SIZE),
'ownerType': TermsFacet(field='owner_type'),
'updatedBy': TermsFacet(field='updated_by', size=FACET_SIZE),
'is_in_latest_source_version': TermsFacet(field='is_in_latest_source_version'),
'is_latest_version': TermsFacet(field='is_latest_version'),
'collection_owner_url': TermsFacet(field='collection_owner_url', size=FACET_SIZE),
'expansion': TermsFacet(field='expansion', size=FACET_SIZE),
'source_version': TermsFacet(field='source_version', size=FACET_SIZE),
'collection_version': TermsFacet(field='collection_version', size=FACET_SIZE),
}