例如,我有索引pizzas
。我有布爾過濾當使用基於自定義權重值過濾時,是否可以計數匹配數量?
"bool": {
"should": {
"toppings": [
{
"query": "Tomatoes"
},
{
"query": "Mushrooms"
}
]
}
}
能ElasticSearch爲索引的所有比薩餅返回匹配比例,因此所有具有mushrooms XOR tomatoes
,將返回50%,如果兩個 - 100%。其他澆頭是無關緊要的。
如果是的話,我們可以用這種方式來擴展這個功能,所以我們可以爲每個頂級權重值添加。 例如我對番茄(50),蘑菇(75)和辣椒(100)感興趣。 所以總計它將是50 + 75 + 100 = 225 所以Margherita的西紅柿和Muchrooms = 125. 所以這個披薩配比應該返回接近56%(125/225)。
我讀了ElasticSearch指南,讀取了幾百次API文檔,嘗試過濾器,查詢,minimum_should_match,boost。我會非常感激至少有一些方向進一步搜索。
謝謝你,Vineeth,你真的爲我節省了一天。我嘗試了第二種選擇,對函數語法做了小的改動,所以它對我來說就像一個魅力: 'weight「:110, 」filter「:{」term「:{」toppings「:」Tomatoes「 }} }' –
哈,它是重量..讓我糾正它 –