微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 22 DSL 查询语法
- 22.4 地理查询
- 22.4.1 地理查询
22 DSL 查询语法
22.4 地理查询
22.4.1 地理查询
根据经纬度查询。常见的使用场景包括:
-
携程:搜索我附近的酒店

-
滴滴:搜索我附近的出租车

-
微信:搜索我附近的人
-
…【搜索附近的功能】
【实现的方式不止一种】
根据经纬度查询,官方文档。
https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-queries.html

例如:
- geo_bounding_box:查询geo_point值落在某个矩形范围的所有文档
【举个栗子】
// geo_bounding_box查询
GET /indexName/_search
{
"query": {
"geo_bounding_box": {
"FIELD": {
"top_left": {
"lat": 31.1,
"lon": 121.5
},
"bottom_right": {
"lat": 30.9,
"lon": 121.7
}
}
}
}
}

左上和右下,形成的矩阵范围【可以看到如果是这个图中,就有三个点,符合要求】
- geo_distance:查询到指定中心点小于某个距离值的所有文档
【举个栗子】
// geo_distance 查询
GET /indexName/_search
{
"query": {
"geo_distance": {
"distance": "15km",
"FIELD": "31.21,121.5"
}
}
}

这个就和我们的数据很像了,我们的location 字段就是一个点
直接试试
# distance 查询
GET /hotel/_search
{
"query": {
"geo_distance":{
"distance": "15km",
"location":"31.21,121.5"
}
}
}
直接运行

好家伙,这么多嘛【47 家】
缩小范围

OK, 这样就只有13 家满足了













![[ vulhub漏洞复现篇 ] GhostScript 沙箱绕过(任意命令执行)漏洞CVE-2018-16509](https://img-blog.csdnimg.cn/f1a6f42cf3b44b04b8146727096c1c83.png)




![[毕业设计]C++程序类内聚度的计算与存储](https://img-blog.csdnimg.cn/ead6f3223f7c4c41b95a2276394d96e5.png)
