复杂操作搜索 select(排序,分页,高亮,模糊查询,精准查询!)
结果的过滤:相当于select name,desc …
我们之后使用Java操作es的时候,所有的方法和对象就是这里面的key !

排序

分页 相当于limit

布尔值查询
must(and),所有的条件都要符合 where name =‘xxx’ and age =23

must(or), 或者 where name =‘xxx’ or age =23

must(not) 不是

过滤器 filter
- gt :大于
- gte:大于等于
- lt:小于
- lte:小于等于

匹配多个条件

精确查询
term 查询是直接通过倒排索引指定的词条进行精确的查找的!
关于分词:
- term, 直接查询精确的值
- match: 会使用分词器解析!(先分析文档,然后再通过分析的文档进行查询)
两个类型 text keyword
text 类型可以被分词器解析
keyword 类型不可以被分词器解析

多个值匹配精确查询

高亮查询


总结:这些其实Mysql 也可以做,只是Mysql的效率比较低
- 匹配
- 按照条件匹配
- 精确匹配
- 区间范围匹配
- 匹配字段过滤
- 多条件查询
- 高亮查询
- 倒排索引
本文介绍了如何在Java中利用Elasticsearch进行复杂操作,包括排序、分页、布尔查询、精确查询、高亮搜索,以及各种查询语法和数据类型的应用。相比传统Mysql,Elasticsearch在效率上有显著提升。
1593

被折叠的 条评论
为什么被折叠?



