0
我正在嘗試創建一個查詢,它在切換到彈性搜索5後不同地匹配過濾器中的多個字段,但它們似乎沒有工作。這是我認爲查詢應該是:ElasticSearch - 具有多個子句的已過濾查詢ES 5
query: {
bool: {
must: [{ match: { name: 'athing' }}],
filter: [
{ bool: {
must: [
{ term: { ownerId: 123} },
{ term: { itemId: 3453} },
]
}},
{ bool: {
minimum_should_match: 1,
must: [
{ term: { groupId: 123565} },
{ term: { groupId: 5555} },
]
}}
]
}
}
在這種情況下,結果必須匹配未分析的項目Id和組Id。在前面的代碼中,使用了彈性搜索1.5,匹配是通過在過濾器中放置'and'和'or'集合來完成的。這似乎不工作了。
我也想讓它查詢能夠讓任何人與傳遞的組ID(而不是所有的人)之一。我試圖在過濾器的第二個布爾查詢中做到這一點。
理想的情況下,我想具有匹配「athing」的查詢時,屬於所有者ID 123和3453的產品ID,它是存在於任一組ID 123565或5555
這似乎工作,謝謝!有一個問題,根據我的理解,查詢意味着結果必須至少與必須和應該相匹配。這是否意味着符合必要條件的結果,而不是任何條款可以通過的結果? –