为什么我的 elasticsearch 查询缓存是空的?
Why is my elasticsearch query cache empty?
我使用的是 elasticsearch 版本 6.1.1。我一直在 运行ning 查询在我明确启用查询缓存的索引的过滤器上下文中。但是查询缓存是空的。我在 elasticsearch 讨论论坛上发现了一个类似的案例(https://discuss.elastic.co/t/query-cache-is-empty/84515 ), but it doesn't have a solution listed. As per the documentation here, https://www.elastic.co/guide/en/elasticsearch/reference/current/query-cache.html,查询缓存应该适用于过滤器上下文中的查询 运行。
我成功运行这个之后,
curl -XGET 'localhost:9200/_search?pretty' -H 'Content-Type: application/json' -d'
{
"query": {
"bool": {
"filter": [
{ "term": { "status": "true" }}
]
}
}
}
'
这是我得到的查询缓存统计信息:
"indices" : {
"query_cache" : {
"memory_size" : "0b",
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
}
}
term filter
的6.x中存在错误,无法查询缓存。见:
https://github.com/elastic/elasticsearch/pull/27190
所以也许您可以尝试 range filter
或 exists
查询缓存 。而且你的文档需要足够大(我在 100k 文档中测试)查询缓存。
我使用的是 elasticsearch 版本 6.1.1。我一直在 运行ning 查询在我明确启用查询缓存的索引的过滤器上下文中。但是查询缓存是空的。我在 elasticsearch 讨论论坛上发现了一个类似的案例(https://discuss.elastic.co/t/query-cache-is-empty/84515 ), but it doesn't have a solution listed. As per the documentation here, https://www.elastic.co/guide/en/elasticsearch/reference/current/query-cache.html,查询缓存应该适用于过滤器上下文中的查询 运行。
我成功运行这个之后,
curl -XGET 'localhost:9200/_search?pretty' -H 'Content-Type: application/json' -d'
{
"query": {
"bool": {
"filter": [
{ "term": { "status": "true" }}
]
}
}
}
'
这是我得到的查询缓存统计信息:
"indices" : {
"query_cache" : {
"memory_size" : "0b",
"memory_size_in_bytes" : 0,
"total_count" : 0,
"hit_count" : 0,
"miss_count" : 0,
"cache_size" : 0,
"cache_count" : 0,
"evictions" : 0
}
}
term filter
的6.x中存在错误,无法查询缓存。见:
https://github.com/elastic/elasticsearch/pull/27190
所以也许您可以尝试 range filter
或 exists
查询缓存 。而且你的文档需要足够大(我在 100k 文档中测试)查询缓存。