Elasticsearch——Geo-distance查询
在距某个geopoint的给定距离内匹配“geo_point”和“geo_shape”值。
例如:
假设以下文档已编制索引:
PUT /my_locations
{"mappings": {"properties": {"pin": {"properties": {"location": {"type": "geo_point"}}}}}
}PUT /my_locations/_doc/1
{"pin": {"location": {"lat": 40.12,"lon": -71.34}}
}PUT /my_geoshapes
{"mappings": {"properties": {"pin": {"properties": {"location": {"type": "geo_shape"}}}}}
}PUT /my_geoshapes/_doc/1
{"pin": {"location": {"type" : "polygon","coordinates" : [[[13.0 ,51.5], [15.0, 51.5], [15.0, 54.0], [13.0, 54.0], [13.0 ,51.5]]]}}
}
使用geo_distance过滤器匹配另一个geopoint指定距离内的geo_point值:
GET /my_locations/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "200km","pin.location": {"lat": 40,"lon": -70}}}}}
}
使用相同的过滤器匹配给定距离内的geo_shape:
GET my_geoshapes/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "200km","pin.location": {"lat": 40,"lon": -70}}}}}
}
要同时匹配geo_point和geo_shape值,请搜索两个索引:
GET my_locations,my_geoshapes/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "200km","pin.location": {"lat": 40,"lon": -70}}}}}
}
Accepted Formats
与geo_point类型大致相同,可以接受geo point的不同表示方式,过滤器也可以接受它:
Lat Lon As Properties
GET /my_locations/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "12km","pin.location": {"lat": 40,"lon": -70}}}}}
}
Lat Lon As Array
[lon,lat]格式,注意,此处lon/lat的顺序,以符合GeoJSON。
GET /my_locations/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "12km","pin.location": [ -70, 40 ]}}}}
}
Lat Lon As String
格式为lat,lon。
GET /my_locations/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "12km","pin.location": "40,-70"}}}}
}
Geohash
GET /my_locations/_search
{"query": {"bool": {"must": {"match_all": {}},"filter": {"geo_distance": {"distance": "12km","pin.location": "drm3btev3e86"}}}}
}
Elasticsearch——Geo-distance查询相关推荐
- Elasticsearch:Geo Point 和 Geo Shape 查询解释
在本文中,我们将了解 Elasticsearch 的地理查询.如何设置映射和索引,并提供一些示例来说明如何查询数据. Elasticsearch 中的地理数据 Elasticsearch 允许你以两种 ...
- 02.elasticsearch bucket aggregation查询
文章目录 1. bucket aggregation 查询类型概览 2. 数据准备 3. 使用样例 1. Terms Aggregation: 1. 普通的terms agg 2. 嵌套一个metri ...
- Elasticsearch实战——地理位置查询
Elasticsearch实战--地理位置查询 文章目录 Elasticsearch实战--地理位置查询 1. 半径查询(geo_distance query) 2. 指定矩形内的查询(geo_bou ...
- 01.elasticsearch metric aggregation 查询
文章目录 1. 数据准备 2. metric aggregation分类 3.使用样例 1 . Avg Aggregation : 求query出来的结果的average 值 2 . Weighted ...
- ES(Elasticsearch)基本查询总结(含docker安装,python操作)
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 官网:https://www.elastic.co/guide/index.html 搜索语法:https://www.elastic.co/guid ...
- elasticsearch geo DSL 和API对比学习-矩形/多边形/距离/距离排序/距离分段聚合/geo_shape内含-相交-相离
直接上代码,包括多种geo相关查询===>>>矩形/多边形/距离/距离排序/距离分段聚合/geo_shape内含-相交-相离 @RunWith(SpringRunner.class) ...
- 03.elasticsearch pipeline aggregation查询
文章目录 1. pipeline aggregation查询语法 1. 符号代表 2. 聚合层级 2. pipeline aggregation 查询类型概览 1. sibling aggregati ...
- java操作elasticsearch实现前缀查询、wildcard、fuzzy模糊查询、ids查询
1.前缀查询(prefix) //prefix前缀查询 @Testpublic void test15() throws UnknownHostException {//1.指定es集群 cluste ...
- 【Elasticsearch】解决Elasticsearch HTTP方式查询报SocketTimeoutException的问题 Connection reset by peer
1.概述 转载:解决Elasticsearch HTTP方式查询报SocketTimeoutException的问题(待验证) 这个问题,和这个问题很像.参考 [es]ES RestHighLevel ...
- 【Elasticsearch】 Elasticsearch 多字段查询 best_fields、most_fields、cross_fields,傻傻分不清楚?
1.概述 转载:Elasticsearch 多字段查询 best_fields.most_fields.cross_fields,傻傻分不清楚? 1.1 题记 Multi-match query 的目 ...
最新文章
- 《机器学习实战》配套代码下载
- 苹果明年有望推出15英寸版MacBook Air
- php星期和时间获取
- 移动开发之手势与双指缩放
- Netty短时间内大量写消息导致的内存问题
- CDMA2000中的Walsh码,PN码,短码序列的初相位偏置(PN OFFSET)之間的差別與關係(1)
- android 谷歌地图离线访问,Android版谷歌地图更新 新增离线浏览功能(图)
- 三星线刷工具Odin3_V3.12.7
- java面试 socket_java网络编程面试题
- js / vue 批量打印二维码图片、PDF、文档
- 访问任何dns都超时_如何使用动态DNS从任何地方轻松访问您的家庭网络
- 用Javascript实现关闭广告案例
- 谈软件系统的标准化和产品化
- 计算机ab级ppt,计算机二级MS_Office考试PPT题型汇总附答案
- Redis: Redis的主从复制(Master/Slave),一主二仆,薪火相传,反客为主,哨兵模式sentinel
- Java 定义一个抽象类—水果,其中包括getWeight()方法,创建若干水果对象存放在一个水果类型的数组中,输出数组中所有水果的类型、重量。
- 静态库路径配置g2o
- 分享我的公众号留言功能迁移成功的故事
- 计算机在识字教学中的应用,运用多媒体教学,提高识字效率
- 光学接触角计算机软件,悬滴法表界面张力仪及接触角仪
热门文章
- 6.3 图解BERT模型:从零开始构建BERT
- 蓝桥杯 PREV-281 时间显示【第十二届】【省赛】
- 高频电子线路:小功率调幅发射机multisim设计学习记录
- 实现米思齐按键控制LED
- JavaScript零基础入门 3:javascript运算符有哪些
- UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0xff in position 0: invalid start byte ,mac
- 甲骨文华育兴业-青柠成长计划
- matlab怎么增加图例,matlab中legend函数在添加图例时的使用方法 - matlab资源网
- 《地理信息系统导论》第3章 矢量数据模型 复习题
- Aed电子文档与无纸化办公