网站首页 > 开源技术 正文
我们都知道,Elasticsearch是一个全文检索引擎,其强大的全文检索能力可以支撑非常多的业务系统。但其实除了常规的数据类型,es还可以支持空间数据类型。目前Es可以支持两种空间数据类型,geo_point,geo_shape。笔者今天着重介绍一下Elasticsearch对geo_point数据类型的支持。
geo_point类型,实际上是经纬度的组合,主要用于地图空间数据的相关查询:
- 以某个坐标点为中心,搜索指定范围内的点;
- 通过空间属性聚合数据;
- 可以将距离作为相关性分数的一个计算因子;
- 通过距离进行排序。
1 创建mapping
插入geo_point类型的数据之前,需要先创建mapping,可以理解为关系型数据库中的表结构。
PUT my_index
{
"mappings": {
"properties": {
"location": {
"type": "geo_point"
}
}
}
}
2 插入geo_point类型数据的4种姿势
2.1 作为object插入
PUT my_index/_doc/1
{
"text": "Geo-point as an object",
"location": {
"lat": 41.12,
"lon": -71.34
}
}
2.2 作为string插入
PUT my_index/_doc/2
{
"text": "Geo-point as a string",
"location": "41.12,-71.34"
}
2.3 geohash
PUT my_index/_doc/3
{
"text": "Geo-point as a geohash",
"location": "drm3btev3e86"
}
2.4 array
PUT my_index/_doc/4
{
"text": "Geo-point as an array",
"location": [ -71.34, 41.12 ]
}
3 查询实例
插入数据之后,我们来进行点的检索,检索出bbox范围内的所有点。
GET my_index/_search
{
"query": {
"geo_bounding_box": {
"location": {
"top_left": {
"lat": 42,
"lon": -72
},
"bottom_right": {
"lat": 40,
"lon": -74
}
}
}
}
}
欢迎关注笔者,每天分享架构干货。
猜你喜欢
- 2024-09-14 Spark及Hadoop常见问题集锦(hadoop spark flink)
- 2024-09-14 CentOS7下安装geowave+hbase+geoserver的实现
- 2024-09-14 GIS工程师一些基础东西(gis工程师工作内容)
- 2024-09-14 Java图像基础知识(java图像算法)
- 2024-09-14 GIS坐标系介绍(gis常用坐标系)
- 2024-09-14 GeoServer安装以及部署(geoserver视频教程)
- 2024-09-14 Spring Boot集成GeoTools快速入门demo
- 2024-09-14 GeoTools数据解析(geo分析)
- 2024-09-14 GeoTools入门介绍(geotools wkt)
欢迎 你 发表评论:
- 11-22百度qq号申请注册(在百度上申请qq账号)
- 11-22dos是什么软件
- 11-22系统u盘启动盘(系统 u盘启动)
- 11-22记事本下载(安卓记事本下载)
- 11-22华为电脑wifi开关在哪(华为电脑wifi连接上不能上网怎么办)
- 11-22管理开机启动项(开机启动项管理win10)
- 11-222025动态壁纸图片(2020动态手机壁纸)
- 11-22电脑的设备管理器在哪里打开
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)

本文暂时没有评论,来添加一个吧(●'◡'●)