前面实现方式和但条件一致
查询代码区别如下
//配药列表显示
// 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那两行的区别
网站链接文章来源:https://www.toymoban.com/news/detail-767264.html
elasticsearch(ES)在SpringBoot中的复杂查询(多条件分页查询以及聚合查询)_尺规作图的博客-CSDN博客_springboot 整合es多条件文章来源地址https://www.toymoban.com/news/detail-767264.html
到了这里,关于ElasticSearch多条件复杂查询实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!