Elasticsearch 地理空间搜索 - 远超 OpenSearch

news2025/2/26 19:39:48

作者:来自 Elastic Nathan_Reese

2021 年,OpenSearch 和 OpenSearch Dashboards 开始作为 Elasticsearch 和 Kibana 的分支。 尽管 OpenSearch 和 OpenSearch Dashboards 具有相似的血统,但它们不提供相同的功能。 在分叉时,只能克隆开源许可的功能。 这给 OpenSearch 留下了一部分功能。 自分叉以来,这种功能差距已经扩大。 让我们探索如何只有 Elasticsearch 和 Kibana 才能提供最快的地图、缩短上市时间、提供更多见解并适应未来。 不要让 OpenSearch 的限制限制你。

使用矢量切片提供快速地图

地图提供了一种直观的方式来显示大量数据,从数万个点,到数以千计的复杂政治边界,再到数以万计的聚合分组 - 全部都在同一张地图上! 将所有这些数据传输到你的网络浏览器是一个耗时的过程。 幸运的是,Mapbox 在 2010 年代初通过引入矢量切片(vector tiles)解决了这个问题。

矢量图块通过以下方式为你的地图提供快速加载:

  1. 将请求分成更小的部分。 你的地图视口被分成更小的方形图块。 每个图块都作为自己的请求获取,从而并行数据加载。
  2. 向浏览器发送更少的数据。 复杂的几何图形被简化,以删除在请求的缩放级别上不可见的细节。 例如,政治边界可能沿着河流的轮廓。 虽然边界包含数千个顶点以准确地遵循河流的路径,但当该级别的细节不可见时,这些顶点将被删除。
  3. 使用节省空间的数据序列化。 数据通常以文本形式发送到你的浏览器。 例如,当坐标 -77.036379543 作为文本发送时,每个数字都作为单个字符发送。 矢量切片使用 Google 协议缓冲区并将数字编码为 16 位或 32 位浮点数,从而显着减少空间。

Elasticsearch 提供矢量切片搜索 API(vector tile search API),以二进制 Mapbox 矢量切片形式返回搜索结果。 与基于文本的 _search API 相比,加载速度快得惊人:

Kibana 中的矢量切片 (vector tiles):使地理分析变得平滑

你需要快速地图,并且只有 Elasticsearch 可以提供二进制 Mapbox 矢量切片形式的搜索结果。

使用 Elastic Maps Service 和 Kibana 地图缩短上市时间

Elastic 地图服务

参考地图为地理数据提供了重要的背景; 政治边界(如国家边界)、自然特征(如河流)以及人造特征(如道路)。 Elastic Maps Service 提供参考底图,为你在 Kibana 中的地理空间可视化提供支持。

在专用网络上运行 Elastic Stack? 没问题,我们为你服务。 只有 Elastic 地图服务可以托管在本地网络上。

Kibana 地图

立即将你的地理数据与 Kibana Maps 结合使用。 使用多个图层和索引在单个地图中显示所有数据。 绘制单个文档或使用聚合来绘制任何数据集,无论有多大。 使用时间滑块对时空数据进行动画处理。 自定义每个图层以突出显示有意义的维度。 跨层搜索以仅关注你想要的数据。 将自由文本搜索与基于字段的搜索相结合。 设置时间过滤器以按时间限制图层。 在地图上绘制多边形或使用要素的形状来创建空间过滤器。 过滤各个层以比较方面。 只有 Kibana 地图提供对 Elasicsearch 所有地理空间功能的实例访问。

此仪表板显示了别哈山火山喷发(umbre Vieja eruption)的影响。

通过 Geohex 网格和 Geo-line 聚合提供更多见解

聚合是一种重要的分析工具,用于将大量数据集分组并汇总为可使用的指标。

Geohex 网格聚合

聚合允许你将地理数据分组为几何区域,并比较和对比组间的指标。 六边形网格是一种流行的定义几何区域的机制,其中每个图块的面积在整个地球上大致相同,从而可以得到更相关的统计结果。 只有 Elasticsearch 提供直线和多边形的六边形空间分析。

该仪表板显示了纽约市教堂的分布。

地理线聚合

对于地理数据,每个数据点可以不仅仅是一个事件,每个数据点可以是一系列相关事件的一部分。 例如,单个 GPS 坐标提供车辆在某个时间点的位置,而一系列 GPS 坐标则显示车辆的路径。 只有 Elasticsearch 提供 Geo-line 聚合,允许你将点变成线,将单个事件的信息放大到更广阔的画面。

下图来自实时资产跟踪、可视化和警报教程,显示了波特兰市的公共交通巴士坐标。

通过读取模式适应未来

工作流程随着时间的推移而发展。 今天的关键内容可能会减弱相关性,而未使用的信息将成为明天决策的关键数据点。 读取模式使你的工作流程能够应对未来的挑战。

只有 Elasticsearch 提供带有运行时字段的读取模式。 运行时字段允许你创建在查询时评估的字段。 让我们通过一个示例来探索运行时字段。 Web 日志被引入 Elasticsearch。 Web 日志包含有关请求位置的地理空间信息,但该信息在写入时不会建立索引。 现在,我们需要运行地理空间搜索。 我们可以在查询中定义 geo_point 运行时字段并执行地理空间搜索,而无需重新索引网络日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

决策树:理解机器学习中的关键算法

决策树:理解机器学习中的关键算法 决策树是一种流行而强大的机器学习算法,它从数据中学习并模拟决策过程,以便对新的未知数据做出预测。由于其直观性和易理解性,决策树成为了分类和回归任务中的首选算法之一。在本文中&#xff0…

JVM实战(14)——Young GC调优

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

浅析爱泼斯坦事件 —— 弱电控制强电原理

据网络文字与视频资料,爱泼斯坦事件是犹太精英阶层,为了掌控美国国家机器为犹太利益集团服务,而精心设下的一个局。本文先假设这个结论成立,并基于此展开讨论。 我们知道,弱电管理强电是电气工程中的一门专门学问&…

数据结构学习笔记——查找算法中的树形查找(红黑树)

目录 一、红黑树的定义(一)黑/红结点、叶子节点(二)黑色完美平衡 二、红黑树的性质(一)黑高和高度(二)叶子结点个数 三、红黑树与AVL对比 一、红黑树的定义 红黑树是一棵二叉排序树…

【嵌入式AI】CanMVk230开发板学习笔记(一)

嵌入式AI学习:CanMVk230开发板学习笔记 官方链接: k230快速入门 github固件下载地址: https://github.com/kendryte/k230_canmv/releases K230的相关软硬件资料,请参考 https://developer.canaan-creative.com/k230/dev/index.html https://g…

2 - 配置/管理 Bean-IOC

1. 基于 XML 配置 Bean 在上一篇里已经模拟了通过 id 来配置获取 bean 依然是使用 Monster 类 1.1 通过类型获取 1&#xff09;xml 配置 <bean id"monster01" class"com.hspedu.spring.beans.Monster"><property name"monsterId" …

解决docker run报错:Error response from daemon: No command specified.

将docker镜像export/import之后&#xff0c;对新的镜像执行docker run时报错&#xff1a; docker: Error response from daemon: No command specified. 解决方法&#xff1a; 方案1&#xff1a; 查看容器的command&#xff1a; docker ps --no-trunc 在docker run命令上增加…

ES的文档操作

一&#xff0c;DSL语句 1&#xff0c;新增文档&#xff1a; 2&#xff0c;查询文档和删除文档&#xff1a; ,3修改文档 修改有两种方式&#xff1a; 全量修改&#xff1a;直接覆盖原来的文档 增量修改&#xff1a;修改文档中的部分字段 全量修改 全量修改是覆盖原来的文档…

基于PyQT的图片批处理系统

项目背景&#xff1a; 随着数字摄影技术的普及&#xff0c;人们拍摄和处理大量图片的需求也越来越高。为了提高效率&#xff0c;开发一个基于 PyQt 的图片批处理系统是很有意义的。该系统可以提供一系列图像增强、滤波、水印、翻转、放大缩小、旋转等功能&#xff0c;使用户能够…

thinkphp学习09-数据库的数据新增

单数据新增 使用 insert()方法可以向数据表添加一条数据&#xff0c;更多的字段采用默认 public function index() {$data [username > 犬夜叉,password > 123,gender > 男,email > wjl163.com,price > 999,details > 犬夜叉介绍];echo Db::name(user)-&g…

物理学如何推动生成式 AI 的发展

一、说明 许多尖端的生成式 AI 模型都受到物理学概念的启发。在本指南中&#xff0c;我们将从高层次上了解物理学如何推动人工智能的进步。不同的领域经常交叉授粉重要概念&#xff0c;这有助于推动其进步。数学概念为物理学的进步奠定了基础;物理学中的概念经常启发经济学的框…

LeetCode讲解篇之90. 子集 II

文章目录 题目描述题解思路题解代码 题目描述 题解思路 初始化一个变量start表示当前从哪里开始遍历nums 搜索过程的数字组合加入结果集 从start开始遍历nums 如果当前元素和前一个元素相等&#xff0c;前一个元素没被使用&#xff0c;则触发剪枝去重操作&#xff0c;跳过当…

如何在海洋cms添加广告

1:下载广告代码&#xff0c;注意广告中的图片要放在自己的server上&#xff0c;图片地址要改为自己的实际图片地址&#xff0c;图片存放位置&#xff0c;存在模板的image里面 2在海洋cms后台添加广告管理&#xff0c;只需要广告index.html代码&#xff0c;转换成js代码 广告名…

GAMES101-Assignment6

一、问题总览 需要加速结构来加速光线与场景的交点&#xff0c;本次练习中&#xff0c;重点关注物体划分算法Bounding Volume Hierarchy (BVH)。本练习要求实现Ray-Bounding Volume求交与BVH查找。 需要从上一次编程练习中引用以下函数: Render() in Renderer.cpp: 将你的光线…

抖音矩阵云混剪系统源码多平台多账号一站式管理(免授权版)

抖音矩阵云混剪系统源码 短视频矩阵营销系统V2.2.1(免授权版) 中网智达矩阵营销系统多平台多账号一站式管理,一键发布作品。智能标题,关键词优化,排名查询,混剪生成原创视频,账号分组,意向客户自动采集,智能回复,多账号评论聚合回复,免切换,免登陆发布….助力您在…

浅谈对Mybatis的理解

一、Mybatis的概述 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code&#xff0c;由谷歌托管&#xff0c;并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是支持普通SQL查询&#xff0c;存储过程和高级映射的优…

PLC-IoT 网关开发札记(2):Xamarin Forms 工程获取App当前的版本号

代码实现 在构建 Android App 时&#xff0c;写了一个 AboutPage。在 AboutPage 上显示 App 的当前版本号是常见的做法。使用 Xamarin.Foms 获取当前版本号的方法是使用 Xamarin.Forms 的 VersionTracking 类。 如下&#xff0c;我写了一个非常简单的 AboutPage&#xff0c;其…

1.单表查询

作业要求 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CREATE TABLE worker ( 部门号 int(11) NOT NULL, 职工号 int(11) NOT NULL, 工作时间 date NOT NULL, 工资 float(8,2) NOT NULL, 政治面貌 varc…

使用lodash原地起飞,总结了几个常用的lodash方法

前言 &#x1f4eb; 大家好&#xff0c;我是南木元元&#xff0c;热爱技术和分享&#xff0c;欢迎大家交流&#xff0c;一起学习进步&#xff01; &#x1f345; 个人主页&#xff1a;南木元元 目录 什么是lodash lodash的按需引入 数组操作 求交集 求合集 求差集 求总和…

2024美赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…