【发布时间】:2020-06-09 04:25:49
【问题描述】:
我正在使用 django-elasticsearch-dsl-drf 并使用建议完成字段配置文档。我的视图集定义也有建议。
文档:
class ProductsDocument(Document):
productName = fields.TextField(
attr='productName',
fields={
'raw': fields.KeywordField(),
'suggest': fields.CompletionField(),
}
)
description = fields.TextField(
analyzer=html_strip,
fields={
'raw': fields.KeywordField(),
'suggest': fields.CompletionField(),
'lower': fields.Text(analyzer=html_strip),
}
)
视图集:
class ProductsView(BaseDocumentViewSet):
document = ProductsDocument
serializer_class = ProductsSerializer
pagination_class = PageNumberPagination
lookup_field = 'id'
filter_backends = [
FilteringFilterBackend,
SuggesterFilterBackend,
IdsFilterBackend,
OrderingFilterBackend,
DefaultOrderingFilterBackend,
CompoundSearchFilterBackend,
NestedFilteringFilterBackend,
CompoundSearchFilterBackend,
]
search_fields = (
'productName',
'price',
'inStock',
'description',
'sellerprof.country.name',
)
suggester_fields = {
'productName_suggest': {
'field': 'productName.suggest',
'suggesters': [
SUGGESTER_COMPLETION,
],
'default_suggester': SUGGESTER_COMPLETION,
},
'description_suggest': {
'field': 'description.suggest',
'suggesters': [
SUGGESTER_COMPLETION,
],
'default_suggester': SUGGESTER_COMPLETION,
},
'productName_suggest': 'productName.suggest',
'description_suggest': 'description.suggest',
}
当我尝试使用建议完成 URL 时,我得到了 NotFoundError
我不确定我错过了什么。
【问题讨论】:
标签: django elasticsearch