1. 什么是 Elasticsearch 地理位置

Elasticsearch 地理位置是一种特殊的数据类型,它可以用来存储和检索地理位置数据,如经纬度坐标、地址、街道、城市、国家等。它可以用来支持地理空间查询,如查找某个地理位置附近的地点,查找某个地点所在的城市等。

2. 如何设置 Elasticsearch 地理位置

要设置 Elasticsearch 地理位置,首先需要定义一个地理位置字段,然后将地理位置信息存储到该字段中。地理位置字段的定义可以使用如下语法:

PUT /my_index
{
  "mappings": {
    "properties": {
      "location": {
        "type": "geo_point"
      }
    }
  }
}
JSON

上面的代码定义了一个名为 location 的地理位置字段,类型为 geo_point。

3. 如何存储地理位置信息

地理位置信息可以使用以下三种格式之一存储到 Elasticsearch 中:

1. 经纬度坐标:可以使用以下格式之一存储经纬度坐标:

POST /my_index/_doc
{
  "location": "40.715,-74.011"
}
JSON

2. GeoHash:可以使用以下格式之一存储 GeoHash:

POST /my_index/_doc
{
  "location": "dr5ru6yhf3"
}
JSON

3. 地理位置对象:可以使用以下格式之一存储地理位置对象:

POST /my_index/_doc
{
  "location": {
    "lat": 40.715,
    "lon": -74.011
  }
}
JSON

以上是 Elasticsearch 地理位置的设置方法,可以根据实际需要选择不同的存储方式。