我正在使用以下库通过Elastic搜索创建django API:
调用api时,django-elasticsearch-dsl-drf库引发错误:
search()获得了意外的关键字参数'doc_type'
这是我的代码:
serializers.py
class TestSerializer(DocumentSerializer):
class Meta(object):
document = TestDocument
fields = ("id", "name")
api.py
class TestDocumentViewSet(DocumentViewSet):
document = TestDocument
serializer_class = TestSerializer
lookup_field = 'id'
filter_backends = [
CompoundSearchFilterBackend,
]
multi_match_search_fields = ('id', 'name')
filter_fields = {
'id': 'id',
'name': 'name',
}
ordering_fields = {
'id': 'id',
'name': 'name',
}
ordering = ('id', 'name')
有人可以帮我吗?
答案 0 :(得分:0)
检查elasticsearch版本。希望使用兼容版本可以解决此问题。
答案 1 :(得分:0)
昨天我遇到了同样的问题,您需要检查elasticsearch版本,或者可以通过此命令直接下载版本-sudo pip install elasticsearch == version(例如6.3.1) 您可以通过以下命令检查弹性版本-pip Frozen