ElasticSearch多条件复杂查询实现

这篇具有很好参考价值的文章主要介绍了ElasticSearch多条件复杂查询实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面实现方式和但条件一致

查询代码区别如下

//配药列表显示
//        List<RjHospitalization> selectlist = RjHospitalizationMapper.selectlist();
//        System.out.println(selectlist);

//        List<RjHospitalizationDto> rjHospitalizationDtos = IRjHospitalizationService.selectlistIRjHospitalization();
//        System.out.println(rjHospitalizationDtos);
//       //讲数据赛入es中
//        List<DrugEs> drugEs = drugMapper.selectDrugFromES();
//        drugEsRepostitory.saveAll(drugEs);

//      //
//        MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("drugName", "白云"); //math 查询
        FieldSortBuilder sortBuilder = SortBuilders.fieldSort("createtime").order(SortOrder.DESC); // createtime 倒序
//        PageRequest pageRequest = PageRequest.of(1, 2);         // 分页,注意这里跟 from,to 意义不一样,page是第几页
//
//        NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
//        nativeSearchQueryBuilder.withQuery(matchQueryBuilder);
        nativeSearchQueryBuilder.withSort(sortBuilder);
//        nativeSearchQueryBuilder.withPageable(pageRequest);
//        NativeSearchQuery nativeSearchQuery = nativeSearchQueryBuilder.build();
       drugEsRepostitory.search(nativeSearchQuery, DrugEs.class, IndexCoordinates.of("rj_drug"/*索引名*/));
//        drugEsRepostitory.search(nativeSearchQuery,IndexCoordinates)
//        drugEsRepostitory.search(nativeSearchQuery,)

//        TermQueryBuilder termQueryBuilder = QueryBuilders.termQuery("drugId", 2);
//        MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery("drugName", "白药");
//        NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
//        nativeSearchQueryBuilder.withQuery(QueryBuilders.boolQuery().must(matchQueryBuilder).must(termQueryBuilder));//and
//        nativeSearchQueryBuilder.withQuery(QueryBuilders.boolQuery().should(matchQueryBuilder).should(termQueryBuilder));//或者
//        nativeSearchQueryBuilder.withPageable(PageRequest.of(0,2));
//        NativeSearchQuery build = nativeSearchQueryBuilder.build();
//        SearchHits<DrugEs> rj_drug = elasticsearchOperations.search(build, DrugEs.class, IndexCoordinates.of("rj_drug"));
//        Iterator<SearchHit<DrugEs>> iterator = rj_drug.iterator();
//        while (iterator.hasNext()){
//            SearchHit<DrugEs> next = iterator.next();
//            System.out.println(next.getContent());
//    }
    }
    }

注释里面标注了或者和and那两行的区别

网站链接

elasticsearch(ES)在SpringBoot中的复杂查询(多条件分页查询以及聚合查询)_尺规作图的博客-CSDN博客_springboot 整合es多条件文章来源地址https://www.toymoban.com/news/detail-767264.html

到了这里,关于ElasticSearch多条件复杂查询实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ES简单教程(四)使用ElasticsearchRestTemplate多条件分页查询(复杂版)

    TIPS :本文实现类似数据库后台管理系统的多条件分页查询。

    2024年02月11日
    浏览(37)
  • ElasticSearch系列 - SpringBoot整合ES:组合多个查询条件 bool 查询

    01. ElasticSearch 布尔查询是什么? 在实际应用中,我们很有可能会查询多个值或字段。 一个 bool 查询由三部分组成: must:所有的语句都必须(must) 匹配,与 AND 等价。 must_not:所有的语句都不能(must not)匹配,与 NOT 等价。 should:至少有一个语句要匹配,与 OR 等价。 02.

    2023年04月08日
    浏览(57)
  • ElasticSearch系列 - SpringBoot整合ES:查询条件 query 和过滤条件 filter 的区别

    01. Elasticsearch 查询条件和过滤条件的区别? Elasticsearch中的查询条件和过滤条件都是用于搜索和过滤文档的条件,但它们之间有一些区别。 查询条件是用于计算文档相关度得分的条件,它会将所有符合条件的文档按照相关度得分从高到低排序,并返回前N个文档。查询条件可以

    2024年02月14日
    浏览(45)
  • 【Elasticsearch】ES查询出满足以下其中任意一个条件的订单

    需求:最近测试经理给我这边提出一个需求,大致可以描述为查询出\\\" 购买的商品名称中包含’测试’ “、” 订单的收货地址包含’B360’ \\\"、“收货人手机号为测试人员的手机号”; 一、实现方案 当时评估了两种方案: ①、直接从数据库中查询; ②、从ES中查询; 方案①

    2024年02月16日
    浏览(28)
  • sql语句转为es查询条件(elasticsearch-sql使用)

    github源码地址: https://gitee.com/weiyxiong_admin/elasticsearch-sql/blob/master/src/test/java/org/nlpcn/es4sql/ExplainTest.java 1、添加pom.xml依赖 2、scala 将sql转为es查询json语句 3、测试 4、查询返回结果展示(即步骤三esJSON结果打印) 5、打开postman

    2024年02月13日
    浏览(43)
  • ES实现三表关联查询+条件过滤

            很多时候mysql的表之间是一对多的关系,比如库信息表(元数据信息),表信息表(元数据信息),字段信息表(元数据信息)。一个库可以包含多个表,一个表可以包含多个字段。他们的关系:库—(1:n)-表—(1:n)-字段。         ElasticsSearch(以下简称ES)处

    2024年02月05日
    浏览(31)
  • 如何使用ES做简单的时间条件过滤+模糊查询+精确匹配+关键字排除,查询 elasticsearch查询结果包含或排除某些字段、_source查询出需要的属性名称

    目录 一、时间条件过滤+模糊查询+精确匹配+排除 1. 查询出包含 log_geo 的数据 “wildcard”: { “message”: “log_geo” } 2. 查询某个时间段的数据 3. 条件查询与条件排除数据 4. from 表示起始的记录的ID 5. size 表示显示的记录数 6.sort排序 desc降序、asc升序  7.should查询在mysql中

    2024年01月18日
    浏览(54)
  • java 整合ES实现文档增删改查(多条件分页查询)

    本文采用ES版本为8.7.1 由于只存储文章,仅用固定索引即可,索引用kibanna直接生成,省略索引部分的增删查步骤 抓取返回信息是因为版本问题无法解析ES返回的正确信息,实际操作成功但是会报错 我这边只需要单索引操作,有需求的可以让前端传过来

    2024年02月13日
    浏览(29)
  • MongoDB - 构造复杂查询条件执行查询

    1. 构造 keyword 的查询条件 2. 构造 threatSubType 的查询条件 3. 相应的实体类

    2024年02月11日
    浏览(25)
  • SpringBoot整合Elasticsearch实现分页条件查询及注意事项

    项目环境: springboot 2.3.7.RELEASE es 6.8.3 这里需要注意es中日期格式,ES默认是不支持yyyy-MM-dd HH:mm:ss格式的,需要通过 @Field(type = FieldType.Date, format = DateFormat.custom,pattern = \\\"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_second\\\") 来指定日期格式。 直接看业务层实现分页条件查询: 范围查询: es en

    2023年04月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包