elasticsearch-py搜索查询大大慢于curl等价物

时间:2018-03-21 01:09:21

标签: python http elasticsearch apache-zeppelin elasticsearch-py

在Zeppelin笔记本中,使用elasticsearch-py 5x运行以下查询

es = Elasticsearch(["es-host:9200"])
es.search(index="some_index", 
          doc_type="some_type", 
          body={"query": {"term": {"day": "2018_02_04"}}}
)

需要28分钟才能返回。

从同一个笔记本中,使用curl运行:

curl -XGET 'http://es-host:9200/some_index/some_type/_search?pretty' -H 'Content-Type: application/json' -d'
{"query": {"term": {"day": "2018_02_04"}}}
'

基本上立即返回。

为什么python库的性能如此差,以及如何快速实现?

2 个答案:

答案 0 :(得分:0)

这不是我见过的任何东西,根据这个问题判断,我猜你的环境有问题。

答案 1 :(得分:0)

我不明白为什么这有效,但是如果我在查询中添加filter_path,它会像原始卷曲一样快地返回:

es = Elasticsearch(["es-host:9200"])
results = es.search(index="some_index", 
      doc_type="some_type", 
      filter_path=['hits.hits._id'],
      body={"query": {"term": {"day": "2018_02_04"}}}
)

如果有人对此行为有解释,我会很感激。