Elastic search入门到集群实战操作详解(原生API操作、spring( 四 )


/*** 关键字查询* @throws IOException*/@Testvoid match() throws IOException {SearchSourceBuilder builder = new SearchSourceBuilder();//设置查询类型的查询条件builder.query(QueryBuilders.matchQuery("title","P50"));//调用基础查询方法basicQuery(builder);}
2.5.3.范围查询range
= .("price");
方法
说明
gt( from)
大于
gte( from)
大于等于
lt( from)
小于
lte( from)
小于等于
示例:
/*** 范围查询 30-100* @throws IOException*/@Testvoid range() throws IOException {SearchSourceBuilder builder = new SearchSourceBuilder();//设置查询类型的查询条件builder.query(QueryBuilders.matchQuery("title","P50"));builder.query(QueryBuilders.rangeQuery("price").gt(30).lt(100));//调用基础查询方法basicQuery(builder);}
2.5.4.过滤
:存储原始文档
默认情况下,索引库中所有数据都会返回,如果我们想只返回部分字段,可以通过 来控 制 。
/*** _source过滤* @throws IOException*/@Testvoid sourceFilter() throws IOException {SearchSourceBuilder builder = new SearchSourceBuilder();//设置查询类型的查询条件builder.query(QueryBuilders.matchQuery("title","P50"));builder.query(QueryBuilders.rangeQuery("price").gt(30).lt(100));builder.fetchSource(new String[]{"id","price","title"},new String[0]);//调用基础查询方法basicQuery(builder);}
2.6.排序
依然是通过来配置:
/*** 排序* @throws IOException*/@Testvoid sort() throws IOException {SearchSourceBuilder builder = new SearchSourceBuilder();//设置查询类型的查询条件builder.query(QueryBuilders.matchQuery("title","P50"));builder.query(QueryBuilders.rangeQuery("price").gt(30).lt(100));builder.fetchSource(new String[]{"id","price","title"},new String[0]);builder.sort("price", SortOrder.DESC);//调用基础查询方法basicQuery(builder);}
2.7.分页
/*** 分页* @throws IOException*/@Testvoid page() throws IOException {SearchSourceBuilder builder = new SearchSourceBuilder();//设置查询类型的查询条件builder.query(QueryBuilders.matchAllQuery());//添加分页int page = 1;int size =3;int start = (page-1)*size;//配置分页builder.from(start);builder.size(size);//调用基础查询方法basicQuery(builder);}

Elastic search入门到集群实战操作详解(原生API操作、spring

文章插图
3. Data
接下来我们学习提供的组件: Data
3.1.什么是rch
Data (以后简称SDE)是 Data项目下的一个子模块 。
Data 的使命是给各种数据访问提供统一的编程接口,不管是关系型数据库(如MySQL),还是 非关系数据库(如Redis),或者类似这样的索引数据库 。从而简化开发人员的代码,提 高开发效率 。
Data 的页面:
特征:
3.2.配置rch
我们在pom文件中,引入rch的启动器:
org.springframework.bootspring-boot-starter-data-elasticsearch
然后,只需要在下新建.yml文件,引入的host和port即可:
spring:data:elasticsearch:cluster-name: lagou-elasticcluster-nodes: 127.0.0.1:9301,127.0.0.1:9302,127.0.0.1:9303
需要注意的是,rch底层使用的不是提供的,而是,并不采用Http协议通信,而是访问对外开放的tcp端口,我们之前 集群配置中,设置的分别是:9301,9302,9303
3.3.索引库操作
准备一个pojo对象 然后准备一个新的实体类,作为下面与索引库对应的文档: