Filter 指定了多个字段值的查询
我正在尝试使用指定的多个字段执行elasticsearch查询。下面是一些伪代码,希望能说明我的意图:Filter 指定了多个字段值的查询,filter,elasticsearch,Filter,elasticsearch,我正在尝试使用指定的多个字段执行elasticsearch查询。下面是一些伪代码,希望能说明我的意图: "query" : { "query_string" : { "query" : "william" } }, "filter" : { "missing" : { "field" : "membership_expires_on" } }, "filter" : { "missing" : { "field" : "gender" } }, "filter" : { "ter
"query" : {
"query_string" : { "query" : "william" }
},
"filter" : {
"missing" : { "field" : "membership_expires_on" }
},
"filter" : {
"missing" : { "field" : "gender" }
},
"filter" : {
"terms" : { "status" : "p"}
},
"filter" : {
"terms" : { "unit_id" : "4"}
}
我试图将所有这些过滤器放在一起,但从中我不知道如何将这些特定的过滤器放在一个查询中。任何帮助都将不胜感激
更新:以下是我目前掌握的信息:
{
"from": 0,
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{
"missing": {
"field": "membership_expires_on"
}
},
{
"term": {
"status": "p"
}
},
{
"missing": {
"field": "gender"
}
},
{
"term": {
"unit": "4"
}
}
]
}
},
"query": {
"query_string": {
"query": "william"
}
}
}
},
"size": 10
}
但这没有结果,所以我做错了什么。我是否以非法的方式挥舞着装有阵列的布尔过滤器
更新2:我已经确认上面的JSON确实是一个有效的查询,因此我的数据/索引可能有问题。这将是另一天的一个问题:-)看一下。这应该会有帮助。如果您已经定义了一个文档和映射,您是否可以在问题中添加一个文档和映射?elasticsearch是否会接受必须子句中的数组?或者它只能在一个should子句中?据我所知,您的评论是肯定的,您可以在一个must子句中添加多个查询。