0
我有在包含簡單的嵌套項彈性搜索的索引,以這種方式定義:查詢嵌套項
'index' : 'items',
'body' : {
'name' : {'type' : 'string'},
'steps' : {
'type' : 'nested',
'text' : {'type' : 'string'},
}
}
每一步是在對象定義的線。讓我們考慮一下我有以下四個目標:
obj1:
foo
obj2:
bar
obj3:
foo bar
obj4:
foo
bar
我希望能夠來搜索包含有查詢中的所有字線的對象。所以如果我用'foo bar'查詢,結果中只會出現'obj3'。
我當前的查詢是具有如下:
'index : 'items',
'body' : {
'query' : {
'match' : {
"steps.text": {
'query' : 'foo bar',
'operator' : 'and'
}
}
}
這個查詢幾乎工程(它過濾掉OBJ1和OBJ2,因爲它們只包含單詞之一),但OBJ4仍然出現。
那麼有沒有辦法告訴彈性搜索「至少有一個步驟匹配所有的單詞」?
由於提前, 文森特