1. 背景介绍

有一些餐馆或酒店散步在你的周围,你想查询你附近的酒店。

2. ES model

{"shop" : {"mappings" : {"properties" : {"category_id" : {"type" : "integer"},"category_name" : {"type" : "keyword"},"id" : {"type" : "integer"},"location" : {"type" : "geo_point"},"name" : {"type" : "text","analyzer" : "ik_max_word","search_analyzer" : "ik_smart"}}}}
}

重点在于 shop model mapping 中有一列是:location。

数据格式:

3. 距离计算

POST /shop/_search

{"query": {"match": {"name": "和府"}},"_source": "*", "script_fields": {"distance": {"script": {"source": "haversin(lat, lon, doc['location'].lat, doc['location'].lon)","lang": "expression","params": {"lat": 42.17, "lon": 117.12}}}}
}

4. 根据距离升序排序

POST /shop/_search

{"query": {"match": {"name": "和府"}},"_source": "*", "script_fields": {"distance": {"script": {"source": "haversin(lat, lon, doc['location'].lat, doc['location'].lon)","lang": "expression","params": {"lat": 42.17, "lon": 117.12}}}},"sort": [{"_geo_distance": {"location": {"lat": 42.17,"lon": 117.12},"order": "asc","unit": "km","distance_type": "arc"}}  ]
}

Elasticsearch LBS 的简单应用相关推荐

  1. Elasticsearch就这么简单

    Elasticsearch就这么简单 Lucene就这么简单 转载于:https://www.cnblogs.com/gaogaoyanjiu/p/9908520.html

  2. 【ES】CURL在windows中对ElasticSearch的一些简单的操作

    上一节说了CURL在windows中的安装方式,现在就简单的记录下CURL在windows中对ElasticSearch的一些简单的操作 直接上操作命令 首先我们打开cmd命令行 输入curl -he ...

  3. 【ElasticSearch系列】简单谈谈kibana-由安装marvel插件而来

    为什么80%的码农都做不了架构师?>>>    前提: 前面已经有一篇文章介绍了ES插件的安装,其中提到了marvel插件.说实话marvel的插件安装并不是那么简单,倒不是因为难, ...

  4. ElasticSearch中的简单查询

    前言 最近修改项目,又看了下ElasticSearch中的搜索,所以简单整理一下其中的查询语句等.都是比较基础的.PS,好久没写博客了..大概就是因为懒吧.闲言少叙书归正传. 查询示例 http:// ...

  5. Elasticsearch就是这么简单

    一.前言 最近有点想弄一个站内搜索的功能,之前学过了Lucene,后来又听过Solr这个名词.接着在了解全文搜索的时候就发现了Elasticsearch这个,他也是以Lucene为基础的. 我去搜了几 ...

  6. 图解原理!秒懂ElasticSearch搜索如此简单

    点击下方公众号「关注」和「星标」 回复"1024"获取独家整理的学习资料! 先自上而下,后自底向上的介绍ElasticSearch的底层工作原理,试图回答以下问题: 为什么我的搜索 ...

  7. Elasticsearch目录结构简单介绍

    我Linux机器上的Elasticsearch是通过下载的zip包(tar.gz包)安装的,目录结构如下: # 查看elasticsearch目录下的文件和目录 [es@zzf elasticsear ...

  8. Elasticsearch:如何使用 Elasticsearch PHP 客户端创建简单的搜索引擎

    如果你正在寻找快速.强大的搜索功能,Elasticsearch 是合乎逻辑的选择. 这种可扩展的搜索引擎可以执行快速.高效的全文搜索和其他复杂查询. 你可以使用 PHP 创建一个简单的搜索引擎来演示 ...

  9. ElasticSearch是什么?为什么快?倒排索引是什么?ElasticSearch的应用?

    ElasticSearch是什么?为什么快?倒排索引是什么?ElasticSearch的应用? Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本.数字.地理空间.结构化 ...

  10. ElasticSearch教程——汇总篇

    环境搭建篇 ElasticSearch教程--安装 ElasticSearch教程--安装Head插件 ElasticSearch教程--安装IK分词器插件 ElasticSearch教程--安装Ki ...

最新文章

  1. (带动画效果)卷积神经网络的讲解.pptx
  2. 【软件工程】第一章重点
  3. jmeter命令行压测
  4. Apache构建web主机、日志分割及AWStats分析系统
  5. linux 开机默认启动windows系统时间,Windows和Linux双系统批改默认启动项、超时时间...
  6. Linux环境下通过gstack命令查看进程的运行堆栈信息
  7. Python零基础入门(四)——Python面向对象编程[学习笔记]
  8. 计算机网络技术实验,计算机网络技术实验一
  9. 首座生态厕所亮相兰州 生物降解“三年不臭”
  10. 嵌入式系统开发之中断控制的实现
  11. centos配置虚拟主机
  12. Linux 用户打开进程数的调整
  13. 御剑江湖一键端mysql_御剑情缘gm完整端下载
  14. 怎么搭建三合一源码优惠券网站步骤教程
  15. python 通信调制方式_python实现BPSK调制信号解调
  16. 使用OBS屏幕录制时色彩错误问题解决方案
  17. 激活码和注册码有什么不同?
  18. 【123】linux中 top 解析
  19. 外推法的matlab程序
  20. 永恒之蓝ms17_010漏洞复现

热门文章

  1. 截止失真放大电路_【电子干货377】晶体三极管的一些常见应用电路
  2. 罗永浩是个挺能折腾的人
  3. AndroidStudio高德地图获取key
  4. 新媒体运营是什么专业
  5. 自媒体、新媒体、融媒体的区别是什么?
  6. IOS开发学习资料集合(开发必备)
  7. delphi反编译ded加密解密之反汇编工具
  8. 对象存储BOS服务介绍
  9. 利用python绘制太阳花
  10. 电脑上怎么截图按什么键?电脑截图的快捷键是什么?