Elasticsearch 地理空间计算

Elasticsearch 地理空间计算_第1张图片

 地理位1置搜索:使用查询API进行搜索

1、Geo Distance Query
Geo Distance Query是在给定的距离范围内搜索数据的查询。例如,可以搜索给定地理位置附近指定距离内的所有文档。

GET /my_index/_search
{
    "query": {
        "bool" : {
            "filter" : {
                "geo_distance" : {
                    "distance" : "5km",
                    "location" : {
                        "lat" : 40,
                        "lon" : -70
                    }
                }
            }
        }
    }
}

2、 Geo Bounding Box Query

Geo Bounding Box Query是一种以四边形形式搜索地理坐标数据的查询。它可以定义顶点坐标来定义一个范围,在该范围内返回所有文档。 一句话,查询在一个框内的文档。

GET /my_index/_search
{
    "query": {
        "bool" : {
            "filter" : {
                "geo_bounding_box" : {
                    "location" : {
                        "top_left" : {
                            "lat" : 40.73,
                            "lon" : -74.1
                        },
                        "bottom_right" : {
                            "lat" : 40.01,
                            "lon" : -71.12
                        }
                    }
                }
            }
        }
    }
}

通过经纬度计算距离:

java计算两个经纬度之间的距离_java经纬度计算距离_谱写的博客-CSDN博客

java 经纬度距离计算_java经纬度距离计算公式_Yweir的博客-CSDN博客 (最好)

收集到的好文章

Elasticsearch Geo:以地理位置为中心的搜索与分析_笔记大全_设计学院

Elasticsearch 在地理信息空间索引的探索和演进 - 知乎

https://www.cnblogs.com/lijunhao/p/5341297.html

https://www.cnblogs.com/softfair/p/lat_lon_distance_bearing_new_lat_lon.html

最好的空间查询例子

Elasticsearch:使用 Elasticsearch 进行地理位置搜索 - 知乎

Elasticsearch 基于地理位置的搜索查询_es地理位置查询_潇潇雨歇_的博客-CSDN博客

Elasticsearch 核心技术(十):GEO 地理查询(geo_bounding_box、geo_distance、geo_shape)

你可能感兴趣的:(ElasticSearch,空间计算)