0
我在elasticsearch中使用top hits聚合。但是,當我向查詢添加一個過濾器時,它返回0次(預期行爲),然而聚合然後不匹配過濾器並返回非零文檔。我覺得聚合在與查詢相同的範圍內工作?似乎沒有這樣工作。有任何想法嗎?使用查詢過濾器進行範圍限定聚合
我在elasticsearch中使用top hits聚合。但是,當我向查詢添加一個過濾器時,它返回0次(預期行爲),然而聚合然後不匹配過濾器並返回非零文檔。我覺得聚合在與查詢相同的範圍內工作?似乎沒有這樣工作。有任何想法嗎?使用查詢過濾器進行範圍限定聚合
您可能正在使用頂級filter
而不是過濾的查詢。頂級過濾器被解釋爲post filter,並在執行查詢後執行,影響命中但不是方面。
如果你簡單地改變你的後置濾波器成filtered query中,彙總將正確計算上只有你的過濾器的結果。
{
"query":{
"filtered":{
"filter": // your filter as before
}
},
"aggs": // now they will be correctly calculated
}
謝謝!聚集發生在過濾器之前還是之後? –