TypeError:search()对于弹性搜索版本5.6获得了意外的关键字参数'doc_type'

时间:2019-06-20 00:53:04

标签: python elasticsearch doctype

我想从弹性搜索中读取特定索引和特定类型的文档。我构造查询:

es.search(index="document_index, doc_type="document_type", body={"query": {"match_all": {}}})['hits']['total']

我收到错误TypeError: search() got an unexpected keyword argument 'doc_type'。我浏览了下面给出的几个链接以寻找解决方案,但是到处都有主要的答案是降级ES版本。但是我们的要求是保留ES版本5.6。

还有更多

是否有其他方法可以提及文档类型?

2 个答案:

答案 0 :(得分:1)

没有其他类型。由于版本不同,它给出了错误

昨天我遇到了同样的问题,您需要检查elasticsearch版本,或者可以通过以下命令直接下载版本: sudo pip install elasticsearch == version(例如6.3.1)

您可以通过此命令检查当前的弹性版本-pip冻结

答案 1 :(得分:0)

似乎您的elasticsearch python客户端版本高于v5.6。使用doc_type兼容版本(例如5.5.3

)删除现有版本

删除pip uninstall elasticsearch 然后安装 pip install elasticsearch==5.5.3

NB 之所以建议这样做,是因为Elasticsearch不再使用doc_type

每个索引支持多种文档类型