在Elasticsearch完成建议中对结果进行排序

时间:2019-12-12 15:49:02

标签: elasticsearch

我有一个具有以下映射的简单索引:

{

  "mappings": {
    "_doc": {
      "dynamic": "strict",
      "properties": {
        "coordinates": {
          "type": "geo_point"
        },
        "suggest": {
          "analyzer": "standard",
          "search_analyzer": "standard",
          "type": "completion"
        }
      }
    }
  }
}

插入文档后,我要检索基于coordinates属性排序的结果。

我运行以下查询以执行相同操作:

{
    "suggest": {
        "region-suggest": {
            "prefix": "taj",
            "completion": {
                "field": "suggest",
                "size": 100,
                "fuzzy": {
                    "fuzziness": 0
                }
            }
        },
        "sort": [
            {
                "_geo_distance": {
                    "coordinates": [
                        {
                            "lat": 12.92,
                            "lon": 77.67
                        }
                    ],
                    "order": "desc"
                }
            }
        ]
    }
}

我观察到查询中没有sort字段的影响。

我做错了什么还是排序不适用于自动完成功能?

我确实尝试了地理环境,但似乎可以将地理环境用于过滤/增强。我不需要任何过滤。只是我希望所有结果都基于坐标进行排序。

任何帮助将不胜感激。

0 个答案:

没有答案