我想从弹性搜索中读取特定索引和特定类型的文档。我构造查询:
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。
还有更多
是否有其他方法可以提及文档类型?
答案 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