我正在使用以下库通过 flex 搜索创建django API:

  • Django-rest-framework
  • django-elasticsearch-dsl
  • django-elasticsearch-dsl-drf

  • 调用api时,django-elasticsearch-dsl-drf库引发错误:



    这是我的代码:

    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版本,也可以通过此命令直接下载版本-sudo pip install elasticsearch == version(例如6.3.1)
    您可以通过此命令检查 flex 版本-点冻结

    关于python - django-elasticsearch-dsl-drf:TypeError:search()得到了意外的关键字参数 'doc_type',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56360385/

    10-13 07:45
    查看更多