3
的這個查詢需要每次執行時間超過200毫秒:業績彈性查詢
{
"filter": {
"term": {
"id": "123456",
"_cache": true
}
}
}
但是這一次只需要每次它是在第一次查詢後執行時間2-3毫秒:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"term": {
"id": "123456"
}
}
}
}
}
請注意兩個查詢中的ID值相同。看起來第二個查詢使用來自第一個查詢的緩存結果。但爲什麼第一個查詢不能使用緩存結果本身?從第一個查詢中刪除"_cache" : true
不會改變任何內容。
當我使用其他ID執行第二個查詢時,第一次需要約40毫秒的時間,之後每次需要2-3毫秒。因此,第二個查詢不僅工作得更快,而且還緩存結果並將緩存用於後續調用。
是否有解釋所有這一切?
它不會打擾我。我正在嘗試學習如何以最有效的方式查詢Elastic,他們寫得不好的文檔對我無能爲力。所以我在這裏問所有這些問題。再次感謝您的幫助! – Andrei