我正在尝试建立一个弹性调用,我想在幕布区域内设置一些过滤器,我想做的是:
{
"query" : {
"filtered" : {
"query" : {
"match_all" : { }
},
"filter" : {
"and" : [
{
"bool" : {
"must" : {
"terms" : {
"my_filter" : [1, 2, 4],
"minimum_match" : 3
}
}
}
},
{
"geo_distance" : {
"location" : "56.20123,14.3240234",
"distance" : "30km"
}
}
]
}
}
}
}
然而,当我尝试这一切时,我得到的是“过滤器中的条款不允许minimum_match,有什么方法可以解决这个问题吗?
我尝试使用bool作为查询,但我不允许过滤那个
答案 0 :(得分:1)
请与查询一起尝试minimum_match
。如下
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"and": {
"filters": [
{
"query": {
"terms": {
"my_filter" : [1, 2, 4],
"minimum_match" : 3
}
}
},
{
"geo_distance": {
"location": "56.20123,14.3240234",
"distance": "30km"
}
}
]
}
}
}
}
}