我使用的是弹性2.4,我写了下面的查询:
"query": {
"bool": {
"should": [{
"prefix": {
"firstname": "guneet"
}
}, {
"prefix": {
"lastname": "guneet"
}
}],
"must": [{
"terms": {
"activities.id": ["1"]
}
}]
}
}
哪个没有按预期返回结果。它应该给我结果,其中activities.id匹配 AND 名字或姓氏匹配。但它返回的结果是activities.id是匹配的并且忽略条件,即它返回的所有记录,其中activities.id匹配而不管名字或姓氏。
我的查询MySql版本应该是这样的: select * from users where(firstname like"%guneet%"或lastname like"%guneet%")和activities.id = [1,2]。
任何建议我如何模拟我的查询以获得类似上面的mysql查询。
提前致谢!
答案 0 :(得分:0)
由于你有一个XML...
子句,你需要添加一个minimum_should_match
clause,它会起作用:
v_xml := XMLELEMENT("number", 123);