我有一个要像这样索引的属性:
"tags": {
"type" : "completion",
"analyzer" : "keyword",
"search_analyzer" : "keyword",
"contexts": [
{
"name": "loc",
"type": "geo",
"precision": 50km
}
]
}
我希望我的结果按最接近的第一位排序。 当我这样查询数据时:
{
"size" : 0 ,
"suggest" : {
"result" : {
"prefix" : "tex" ,
"completion" : {
"field" : "tags" ,
"size" : 15 ,
"contexts" : {
"loc" : [{
"context" : {
"lon" : 1.5,
"lat" : 43.2
},
"boost": 2
}]
}
}
}
}
}
我得到了想要的结果。 问题是,当我在地理位置中没有以“ tex”开头的数据时,结果为空。 似乎它正在充当过滤器。 我想要的是上下文用于按最接近的顺序排序,而不是过滤数据。
有没有办法做到这一点?
PS:我正在使用ES 6.x