弹性搜索 - 具有大小和参数的查询的缓存结果

时间:2017-08-01 07:13:42

标签: performance elasticsearch

我正在尝试优化查询的性能。我的查询有排序和聚合。另外,我指定from和size参数,因为我需要批量提取数据。

我正在使用请求缓存,这确保每次都不会执行聚合。但是,我还没有找到一种缓存查询数据的方法。

看着: https://www.elastic.co/guide/en/elasticsearch/reference/current/shard-request-cache.html

  

"默认情况下,请求缓存只会缓存搜索结果   请求size = 0,因此它不会缓存命中,但会缓存   hits.total,aggregations和advice。"

在这种情况下,有没有办法可以缓存搜索结果?

示例查询:

GET myIndex/_search?request_cache=true
{
    "size": 20,
    "from": 0,
    "query": { ... },
    "sort": { ... },
    "aggregations": { ... }
}

1 个答案:

答案 0 :(得分:0)

这个假设仍然适用。解决方法可能是发送两个查询,一个搜索查询和一个聚合查询,以便可以缓存聚合部分。

你有没有发现什么是慢的部分?搜索还是aggs?