如何通过`elasticsearch5.2`获得距离而没有`sort`?

时间:2017-11-15 09:16:48

标签: elasticsearch

Q是如何在没有elasticsearch5.2的情况下sort获得距离?

这是映射(名为'service_point'的模型):

{
  "service_point": {
    "properties": {
      "id": {
        "type": "long"
      },
      "type": {
        "type": "long"
      },
      "name": {
        "type": "text",
        "analyzer": "ngram_tokenizer_analyzer",
        "search_analyzer": "ngram_tokenizer_analyzer"
      },
      "location": {
        "type": "geo_point"
      }
    }
  }
}

假设我的位置是:{"lat":"31.182024","lon":"121.492417"} 而且,我想搜索一个名为“西湖”的地方。并希望得到我的位置和'西湖'之间的距离?如何获得距离?

这是我的剧本,找到距离100KM内的地方,并命名为“西湖”,但我无法得到我的位置和'西湖'之间的距离?如何获得距离。

{
  "from": "0",
  "size": "100",
  "query": {
    "bool": {
      "must": [
        {
          "geo_distance": {
            "location": {
              "lat": "31.182024",
              "lon": "121.492417"
            },
            "distance": "100km"
          }
        },
        {
          "match": {
            "name": "West Lake"
          }
        }
      ]
    }
  }
}

0 个答案:

没有答案