java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

今天是刘小爱自学Java的第162天 。
感谢你的观看,谢谢你 。

java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
学习计划安排,利用Java代码来实现对索引库的各种操作:通过自定义方法实现匹配查询、范围查询 。
原生的查询代码又是如何编写的?
最后还有聚合相关的代码编写 。
一、自定义方法
昨天学了最基础的几种增删改查方法,但查询在实际应用中显然没这么简单 。
比如用户要匹配查询,前几天我们有学过,有match匹配和term匹配两种常用的方式 。
这些在Java中又是哪些方法来对应呢?
有原生的方法可以是使用,但是比较麻烦,这里使用提供的自定义方法 。
1自定义方法实现多种查询方法
java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
昨天有使用到()方法,这是自带的方法,看其语义也就能知道其实查询所有数据 。
但是很多时候并不是一个查询所有方法就能解决的,所以需要自己自定义说明 。
①chs
方法名一定要按照其格式来,一看到也就很好理解,是根据Title这个字段匹配查询 。
其中后面还可以接“And”“Or”这些逻辑运算,实现布尔查询 。
②ween
一样的道理,范围查询也有其格式,也就是这个单词的使用 。
总之:自定义方法之后,不需要我们写具体是如何查询的了,可以直接使用,但是方法名需要遵循命名规范,如果不能正常使用,极有可能就是方法名格式不对 。
2自定义方法的使用
java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
①根据Title词条匹配
直接调用自定义的match匹配方法,在参数中说明要搜索的关键字是“小米手机”,这样就能match匹配到和“小米手机”相关的数据了 。
②根据price范围查询
直接调用自定义的范围查询方法,在参数中说明价格区间是2000-4000,这样也就能范围查询出这个价格区间相关的数据了 。
3运行方法,观察结果
java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
①“小米手机”匹配结果
这个前几天专门说明过,因为title这个字段类型是text,是要分词的,所以“小米手机”被分词成了“小米”和“手机” 。
只要是和上述分词相关的数据都会被查询出来,所以“坚果手机”也被查询出来了 。
②价格在2000-4000区间的数据
结果也就显而易见了,如上图所示 。
二、原生的查询
自定义方法虽然很简单,但有时候不能很好地实现业务需求,比如查询条件过多时 。
java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
这个时候就需要结合官方提供的原生查询了 。
java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和

文章插图
①创建查询的构造器
lder也就是原生搜索查询构造器的意思,通过它也就可以添加各种查询条件 。
②添加查询条件
():说明查询
【java 微服务分页_【微服务】162:利用Java实现索引库相关的分页、排序和】例子中是match匹配查询,所以在Java中也就是方法,参数:title是字段,“小米手机”是该字段对应的数据 。
():实现分页
of()方法即可实现分页,其中页面数从0页开始,每页大小上述图中指定的是2 。
():实现排序()方法说明需要排序的字段 。
order()方法说明排序方式 。
其可以链式编程不停地添加查询条件 。
③再调用方法完成查询
使用自定义的接口调用()方法,同时说明查询条件,也就是原生的查询只是说明了下查询条件 。