我遇到一些最小的问题应该匹配条款查询。
在我的文档中,我有人嵌套对象的以下映射
"people": {
"type": "nested",
"properties": {
"name": {
"type": "string",
"index": "not_analyzed"
}
}
}
我尝试使用minimum_should_match嵌套查询。此代码驻留在嵌套范围内:
"bool": {
"should": [
{
"terms": {
"people.name": [
"Anna",
"Mark",
"Joe"
],
"minimum_should_match": "100%",
"boost": 3
}
}
]
}
即使具有这三个名称的文档在我的索引中,我也没有结果。
问题是否与人员数据的嵌套结构有关? 对于名字匹配较高的文档,我希望获得高分。
我已经尝试了"execution" : "or"
,我得到了
QueryParsingException[[my_db] [terms] query does not support [execution]
我找到的唯一解决方案是将每个名称与应该范围内的不同术语分开。
这会影响查询的复杂性吗?有时我必须找到30个名字的文件。
答案 0 :(得分:0)
试试这个:
"query": {
"bool": {
"should": [
{"nested":
{"path": "people",
"query": {
"terms" : {
"people.name" :["Anna", "Joe"]
}
}
}
}
]
}
}