このクエリは、実行されるたびに 200 ミリ秒以上かかります。
{
"filter": {
"term": {
"id": "123456",
"_cache": true
}
}
}
ただし、これは最初のクエリの後に実行されるたびに 2 ~ 3 ミリ秒しかかかりません。
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"id": "123456"
}
}
}
}
}
両方のクエリで同じ ID 値に注意してください。2 番目のクエリは、最初のクエリのキャッシュされた結果を使用しているようです。しかし、最初のクエリがキャッシュされた結果自体を使用できないのはなぜでしょうか? 最初のクエリから削除"_cache" : true
しても何も変わりません。
そして、他のIDで2番目のクエリを実行すると、最初に実行するのに約40ミリ秒かかり、その後は毎回2〜3ミリ秒かかります。したがって、2 番目のクエリは高速に動作するだけでなく、結果をキャッシュし、後続の呼び出しにキャッシュを使用します。
このすべての説明はありますか?