Elasticsearch完成上下文

时间:2018-11-10 14:43:33

标签: elasticsearch

我有一个要像这样索引的属性:

    "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

0 个答案:

没有答案