提问要多花一点心思哦

ES的filter缓存似乎并不生效?

Elasticsearch | 作者 blackprint | 发布于2017年04月12日 | 阅读数:5877

使用es2.4.4,用query_cache监控query_cache的情况,设置cache为10%。首先调用clear清除所有cache,然后执行filter搜索,发现前后几次的took时间都差不多,甚至还出现第六七次比第二三次多的情况,查看query_cache发现并没有任何cache数据在其中。我的query语句如下,不知道是什么原因:
curl -XPOST 'xx:8080/aa/_search?pretty' -d '
{

"size":2000,"query":{"filtered":{"filter":{"terms":{"poi_id":[51034322]}}}},

"sort":{"score":{"order":"desc"}},

"_source":["desc"]

}'
已邀请:

kennywu76 - Wood

赞同来自:

  1. 这个索引的 settings和mappings是怎样的
  2. 你是如何查看query_cache使用量的?
  3. 单条数据是否很大?term过滤一般速度很快,某些情况下有无query cache几乎没什么差别。 因此5.x开始已经取消了对term query的cache。
  4. size设置为0再对比下,有可能耗时主要在排序和fetch数据上。
  5. filtered query已经deprecate了,建议改用constant score query。

要回复问题请先登录注册