Elasticsearch 地理查询:高效探索空间数据

在地理信息系统(GIS)和基于位置的服务中,地理查询扮演着核心角色。Elasticsearch 提供了一套丰富的地理查询功能,允许用户根据地理位置对数据进行检索。本文将介绍 Elasticsearch 中地理查询的基本概念,并展示如何使用 geo_distance 和 geo_bounding_box 查询。

地理查询模板

geo_distance 查询模板

geo_distance 查询模板用于查找与指定中心点在一定距离范围内的文档。

json 复制代码
GET /yourIndex/_search
{
  "query": {
    "geo_distance": {
      "distance": "distanceValue",
      "FIELD": {
        "lat": latitude,
        "lon": longitude
      }
    }
  }
}

geo_bounding_box 查询模板

geo_bounding_box 查询模板用于查找位于指定矩形区域内的文档。

json 复制代码
GET /yourIndex/_search
{
  "query": {
    "geo_bounding_box": {
      "FIELD": {
        "top_left": {
          "lat": latitudeTopLeft,
          "lon": longitudeTopLeft
        },
        "bottom_right": {
          "lat": latitudeBottomRight,
          "lon": longitudeBottomRight
        }
      }
    }
  }
}

地理查询示例

示例 1:使用 geo_distance 查询酒店

假设我们有一个名为 hotel 的索引,其中包含一个 location 字段,用于存储酒店的地理位置。

json 复制代码
GET /hotel/_search
{
  "query": {
    "geo_distance": {
      "distance": "2km",
      "location": {
        "lat": 31.21,
        "lon": 121.5
      }
    }
  }
}

在这个示例中,我们使用 geo_distance 查询来查找距离上海某个特定经纬度(31.21, 121.5)2公里范围内的酒店。

示例 2:使用 geo_bounding_box 查询长兴岛

假设 hotel 索引中的 location 字段存储了酒店的经纬度,我们想要查询长兴岛上的酒店。

json 复制代码
GET /hotel/_search
{
  "query": {
    "geo_bounding_box": {
      "location": {
        "top_left": {
          "lat": 31.1,
          "lon": 121.5
        },
        "bottom_right": {
          "lat": 30.9,
          "lon": 121.7
        }
      }
    }
  }
}

在这个示例中,我们使用 geo_bounding_box 查询来确定哪些酒店位于长兴岛的地理边界内。

结论

地理查询是 Elasticsearch 中处理空间数据的强大工具。通过 geo_distance 和 geo_bounding_box 查询,开发者可以轻松实现基于地理位置的搜索功能,满足各种应用场景的需求,从旅游和酒店预订到物流和本地化服务。

希望本文能够帮助你更好地理解 Elasticsearch 的地理查询功能。如果你有任何问题或需要进一步的帮助,请在下方留言,我会尽快回复。祝你编程愉快!

相关推荐
企查查数据服务11 分钟前
股权穿透+责任传导是医药并购合规健康度评分卡
大数据·人工智能
YH_Analytics1 小时前
2026 年增亮膜(DBEF)行业市场格局深度解析
大数据·网络
方芯半导体2 小时前
2026工业机器人控制芯片赛道:竞争格局与关键选型指标深度解析
大数据·人工智能·机器人
GlobalInfo2 小时前
上新 | 全球及中国起重机摄像系统行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·分布式·微服务·ai·相机
科创致远2 小时前
科创致远 ESOP 赋能车间图纸全维管理实战
大数据·人工智能·制造·精益工程
橙色云-智橙协同研发2 小时前
核心Know-How不再随人走——智橙AI“智淀“功能详解
大数据·人工智能·ai
得助智能-垂类大模型3 小时前
多Agent平台哪家做得好?2026年企业级多智能体平台选型指南
大数据·数据库
金融Tech趋势派3 小时前
企业微信SCRM多少钱一年?2026收费标准拆解与预算自算表
大数据·企业微信
QY_Research_4 小时前
全球智能交通系统物联网市场规模及CAGR14.2%深度分析
大数据·网络·人工智能·物联网·制造
PGKJXSB5 小时前
以感知设备赋能水文,激光雪深传感器常态化监测积雪厚度
大数据