AWS Elasticsearch - 查询缓存

时间:2016-02-27 10:59:00

标签: amazon-web-services elasticsearch

我正在使用AWS Elasticsearch,群集每秒接收约600个搜索查询。这导致Elasticsearch定期突发503服务无法响应。因此,我想打开索引的缓存查询(通过查看<ES_DOMAIN>/_stats/query_cache?pretty&human

验证它是否实际打开了

但是,当我在"<index_name>" : { "primaries" : { "query_cache" : { "memory_size" : "0b", "memory_size_in_bytes" : 0, "evictions" : 0, "hit_count" : 0, "miss_count" : 0 } }, "total" : { "query_cache" : { "memory_size" : "0b", "memory_size_in_bytes" : 0, "evictions" : 0, "hit_count" : 0, "miss_count" : 0 } } } 检查查询缓存统计信息时,这就是我得到的

$("div.main").remove()

有关如何打开缓存的任何建议?

1 个答案:

答案 0 :(得分:2)

基于我的reading和类似的经验(即使在索引映射中设置index.cache.query.enable: true之后),我只能猜测AWS已禁用查询缓存。可以在indices.cache.query.size: 0%

中设置config/elasticsearch.yml

<强>更新

让群集运行一段时间并进行一些繁重的聚合后,我发现query_cache开始被使用,虽然不确定为什么我没有看到任何cache hits

GET _nodes/stats/indices/query_cache?pretty&human

{
   "cluster_name": "XXXXXXXXXXXX:xxxxxxxxxxx",
   "nodes": {
      "q59YfHDdRQupousO9vh6KQ": {
         "timestamp": 1465589579698,
         "name": "Mongoose",
         "indices": {
            "query_cache": {
               "memory_size": "37.2kb",
               "memory_size_in_bytes": 38151,
               "evictions": 0,
               "hit_count": 0,
               "miss_count": 45
            }
         }
      },
      "K3olMnkkRZW53tTw05UVhA": {
         "timestamp": 1465589579692,
         "name": "Meggan Braddock",
         "indices": {
            "query_cache": {
               "memory_size": "47.3kb",
               "memory_size_in_bytes": 48497,
               "evictions": 0,
               "hit_count": 0,
               "miss_count": 53
            }
         }
      }
   }
}