我正在使用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()
有关如何打开缓存的任何建议?
答案 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
}
}
}
}
}