Я использую django 2.1, эластичный поиск 6.1 и django -asticsearch-dsl-drf 0.17.6.
view.py
class SchoolViewSet(DocumentViewSet):
document = SchoolDocument
serializer_class = SchoolDocumentSerializer
permission_classes = (AllowAny,)
lookup_field = 'id'
filter_backends = [
FilteringFilterBackend,
CompoundSearchFilterBackend,
FacetedSearchFilterBackend
]
# Define ordering fields
ordering_fields = {
'name': 'name',
}
# Specify default ordering
ordering = ('name',)
faceted_search_fields = {
'top_name_hit': {
'field': 'name',
'facet': TermsFacet,
'enabled': True,
'options': {
'size': 4, # Override default number of suggestions
"order": {"_count": "desc"},
'show_term_doc_count_error': True,
},
},
}
documents.py
@INDEX.doc_type
class InstituteDocument(DocType):
id = fields.StringField(attr='id_str')
name = fields.StringField(
analyzer=html_strip,
fields={
'raw': KeywordField(),
'suggest': fields.CompletionField(),
'edge_ngram_completion': fields.StringField(
analyzer=edge_ngram_completion
),
},
fielddata=True
)
class Meta:
model = School
Я хочу получить результат самой популярной школы.Как я могу получить список самых популярных трендов?