目录
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,因为高亮,必须要有关键字
总结