elasticsearch中使用地理坐标

地理坐标点需要显式声明对应字段类型为 geo_point
创建索引和映射:

PUT /test_locations_index
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "location": {
        "type": "geo_point"
      }
    }
  }
}

添加文档

  1. 字符串形式
PUT /test_locations_index/_doc/1 
{
  "name":"test1",
  "location":"60.666,70.777"
}
  1. 对象形式

PUT /test_locations_index/_doc/2 
{
   "name":"test2",
   "location":{
       "lat":60.777,
       "lon":71.888
   }
}
  1. 数组形式
PUT /test_locations_index/_doc/3 
{
   "name":"test3",
   "location":[60.888,72.999]
}

使用过滤器查询范围内的坐标
geo_bounding_box:指定矩形的边界,找出落在指定矩形框中的点

GET /test_locations_index/_search
{
  "query": {
    "bool": {
      "must": {
        "match_all": {}
      },
      "filter": {
        "geo_bounding_box": {
          "location": {
            "top_left": {
              "lat": 65.73,
              "lon": 69.12
            },
            "bottom_right": {
              "lat": 58.00,
              "lon": 74.1
            }
          }
        }
      }
    }
  }
}

在这里插入图片描述

geo_distance :找到某个点半径范围内的点

GET /test_locations_index/_search
{
  "query": {
    "bool": {
      "must": {
        "match_all": {}
      },
      "filter": {
        "geo_distance": {
          "distance": "300km",
          "location": {
            "lat": 60,
            "lon": 70
          }
        }
      }
    }
  }
}

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch是一个开源的分布式搜索和分析引擎,它被广泛应用于各种不同的领域和场景。以下是一些elasticsearch/elasticsearch 8的使用案例: 1. 日志分析:Elasticsearch可以用于实时收集、存储和分析大量的日志数据。通过将日志数据索引到Elasticsearch,可以快速搜索和查询特定的日志信息,进行故障排查、性能监控等操作。 2. 搜索引擎Elasticsearch提供了强大的全文搜索功能,可以用于构建搜索引擎。它支持复杂的查询语法和高亮显示等功能,可以快速地搜索和检索大量的文档数据。 3. 实时数据分析:Elasticsearch可以用于实时地分析和可视化大规模的实时数据。通过将实时数据索引到Elasticsearch,可以进行实时的聚合、过滤和可视化操作,帮助用户快速了解数据的趋势和模式。 4. 地理位置搜索:Elasticsearch提供了地理位置搜索的功能,可以用于构建地理位置相关的应用。通过将地理位置信息索引到Elasticsearch,可以进行附近搜索、范围搜索等操作,帮助用户找到附近的商家、地点等。 5. 电子商务:Elasticsearch可以用于构建电子商务平台的搜索功能。通过将商品信息索引到Elasticsearch,可以实现快速的商品搜索、过滤和排序等操作,提升用户的搜索体验。 6. 监控和告警:Elasticsearch可以用于实时监控和告警系统。通过将监控指标索引到Elasticsearch,可以实时地进行指标的聚合、过滤和告警操作,帮助用户及时发现和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值