微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

缺少必需的尾部斜杠 ( / ) 导致 ElasticSearch Python API ConnectionError

如何解决缺少必需的尾部斜杠 ( / ) 导致 ElasticSearch Python API ConnectionError

我正在尝试在我的应用中使用 ElasticSearch python API,但在执行 search 操作时遇到错误

es = Elasticsearch("http://192.168.0.35:9200/")

# Works fine
es.count(index='my_index')

# Error
es.search(index='my_index',body={"query": {"match_all": {}}})

完整的错误如下:

elasticsearch.exceptions.ConnectionError

elasticsearch.exceptions.ConnectionError: ConnectionError(('Connection aborted.',ConnectionResetError(104,'Connection reset by peer'))) caused by: ProtocolError(('Connection aborted.','Connection reset by peer')))

经过一些调查,我注意到:

curl -X GET http://192.168.0.35:9200/my_index/_search

同时也会导致 Connection reset by peer 错误

curl -X GET http://192.168.0.35:9200/my_index/_search/

工作正常。 并且似乎 Elasticsearch Python API 在执行请求时也省略了这个尾随 /

是否有任何解释/修复/解决方法

(注意:ES6 使用 Elasticsearch Python API v6.8.2)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。