面试题答案
一键面试- 距离单位选择:
- 在ElasticSearch地理空间查询中,常用的距离单位有
km
(千米)、m
(米)、mi
(英里)、yd
(码)、ft
(英尺)等。对于查找距离某个坐标点10公里内的文档,应选择km
作为距离单位。
- 在ElasticSearch地理空间查询中,常用的距离单位有
- 查询语句示例:
{ "query": { "bool": { "filter": { "geo_distance": { "distance": "10km", "pin.location": { "lat": 40.7128, "lon": -74.0060 } } } } } }
- 关键参数含义:
distance
:指定距离值和单位,这里设置为10km
,表示查找距离指定坐标点10千米范围内的文档。pin.location
:这是文档中存储地理坐标的字段名,不同的应用场景下该字段名可能不同,需根据实际情况调整。在示例中假设文档中有一个名为location
的地理坐标字段,它是在pin
对象下。lat
和lon
:分别代表纬度(latitude)和经度(longitude),示例中设置为40.7128
(纬度)和- 74.0060
(经度),这是要计算距离的中心点坐标。