ElasticSearch学习--搜索

目录

DSL查询文档

DSL查询分类

 match_all

总结

全文检索查询

match

 multi_match​编辑

总结

精准查询

ids

range,term

地理坐标查询

geo_bounding_box

geo_distance

组合(复合)查询

 总结

 Function Score Query

 复合查询Boolean Query

 案例

搜索结果处理

排序

分页

集群环境的分页

总结

高亮

 总结


DSL查询文档

【ES笔记02】ElasticSearch数据库之查询操作(match、must、must_not、should、_source、filter、range、exists、ids、term、terms)_es match must_朱友斌的博客-CSDN博客

DSL查询分类

 match_all

总结

 

全文检索查询

match

 multi_match

总结

精准查询

ids

range,term

 

地理坐标查询

geo_bounding_box

geo_distance

组合(复合)查询

 

 总结

 

 Function Score Query

过滤条件:决定了哪些文档要加分

算分函数:算分的结果

加权模式:最终的算法

 复合查询Boolean Query

 案例

 

搜索结果处理

当我们可以从海量数据中查询出我们需要的数据之后,往往我们还需要对搜索的结果去做一些处理 

排序

 第二种写法

 

分页

 

虽然和mysql一样都是指定了from与size就像是mysql的limt,但是es底层用的是倒排索引,结构上来说其实是不利于分页的,所以其实采用的是一种逻辑上的分页

这种方法是单点查询没什么问题,但是如果是集群呢?在实际开发中,为了让es存储更多的数据,一定会做集群,而es天生支持集群,一旦进行了集群,就会对数据进行拆分。

集群环境的分页

如何避免呢?只有在业务上就不让深度分页,比如百度最多只能查到70多页,京东只能查到100页。

但是如果如果业务上真的有这样的需求,es也给出了解决方案

 

 search after 可以有效的解决深度分页的问题,但是只能往后查,不能向前

scroll对内存占用非常大,而且对修改非常不友好,没法查到实时数据

总结

 

高亮

 注意:不可以使用match_all,因为高亮,必须要有关键字

 总结

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值