SpringBoot中使用queryBuilders查询构建器操作elasticsearch

本文介绍了SpringBoot中如何使用queryBuilders进行Elasticsearch的高级查询,包括简单查询、自定义查询、分页查询和排序。同时,详细讲解了聚合功能,如按品牌分组和嵌套聚合计算平均值。

 

目录

高级查询

1.简单查询

2.自定义查询

3.分页查询

4.排序

聚合

1.聚合为桶 

2.嵌套聚合,求平局值


 

高级查询

 

高级查询使用QueryBuilders 查询构建器,QueryBuilders提供了大量的静态方法,用于生成各种不同类型的查询对象,例如:词条、模糊、通配符等QueryBuilder对象。

 

1.简单查询

@Test
public void testQuery(){
    // 词条查询
    MatchQueryBuilder queryBuilder = QueryBuilders.matchQuery("title", "小米");
    // 执行查询
    Iterable<Item> items = this.itemRepository.search(queryBuilder);
    items.forEach(System.out::println);
}

 

2.自定义查询

@Test
public void testNativeQuery(){
    // 构建查询条件
    NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder();
    // 添加基本的分词查询
    queryBuilder.withQuery(QueryBuilders.matchQuery("title", "小米"));
    // 执行搜索,获取结果
    Page<Item> items = this.itemRepository.search(queryBuilder.build());
    // 打印总条数
    System.out.println(items.getTotalElements());
    // 打印总页数
    System.out.println(items.getTotalPages());
    items.forEach(System.out::println);
}

NativeSearchQueryBuilder是Spring提供的一个查询条件构建器,帮助构建json格式的请求体。Page<item>:默认是

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值