小编Jas*_*ott的帖子

Elasticsearch Context Suggester 地理上下文 - 无需过滤即可提升?

我正在创建一个带有地理上下文的完成建议器(Elastic 5.x)。

 mapping...
        "suggest": {
          "type": "completion",
          ...
          "contexts": [
          {
            "name": "geoloc",
            "type": "geo",
            "precision": 3,
            "path": "geolocation"
          }
        ]
Run Code Online (Sandbox Code Playgroud)

当我查询这个时,我希望它不按地理上下文过滤,只增强 geohash 内的结果。通过单个 geohash 进行过滤,或者通过较低精度进行过滤,然后在原始过滤器中提高更高的精度,效果非常好,如下所示:

GET /my-index/_search
{
  "suggest": {
      ...
      "completion": {
        "field": "suggest",
        "size": "10",
        "contexts": {
          "geoloc": [
            {
              "lat": 44.8214564,
              "lon": -93.475399,
              "precision": 1
            },
            {
              "lat": 44.8214564,
              "lon": -93.475399,
              "boost": 2
            }
          ]
        }
      }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我无法让它仅在单个地理上下文上增强而不进行过滤。当我提交以下查询时,它会过滤并增强:

GET /my-index/_search
{
  "suggest": {
      ...
      "completion": {
        "field": "suggest",
        "size": "10", …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

5
推荐指数
1
解决办法
451
查看次数

标签 统计

elasticsearch ×1