簡體   English   中英

django-elasticsearch-dsl-drf:TypeError:search()得到一個意外的關鍵字參數'doc_type'

[英]django-elasticsearch-dsl-drf: TypeError: search() got an unexpected keyword argument 'doc_type'

我正在使用Elastic搜索創建一個django API,使用下面的庫:

  • Django的休息框架
  • Django的elasticsearch-DSL
  • Django的elasticsearch-DSL-DRF

當調用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')

有人可以幫我解決這個問題嗎?

檢查elasticsearch版本。 希望使用兼容版本可以解決這個問題。

昨天我遇到了同樣的問題你需要檢查elasticsearch版本或者你可以通過這個命令直接下載版本 - sudo pip install elasticsearch == version(例如6.3.1)你可以通過這個命令檢查彈性版本 - pip freeze

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM