ElasticSearch7查询/最小匹配/优先度/高亮/解除查询数量限制
boolQuery
使用minimumShouldMatch
参数设置需要匹配条件的数量boost
参数设置匹配条件的优先级HighlightBuilder
设置需要添加高亮的字段
/**
* es查询示例 添加高亮
*/
@Test
public void queryEsDataRestul() {
//传参
EsSrvcInfoVo vo = new EsSrvcInfoVo();
vo.setKeyword("平均值");
System.out.println(vo.toString());
//获取分页对象
PageData pageData = new PageData();
//接受结果
List<Map> data = new ArrayList<>();
RestHighLevelClient client = EsClientMe.getRhlClient();
//创建请求对象,如果不传参数,这将针对所有索引运行,这里搜索多个索引
SearchRequest searchRequest = new SearchRequest("srvcinfo");
//创建封装查询条件参数的对象SearchSourceBuilder,所有的查询条件都会封装到此类
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
//查询条件 should最小匹配 1
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery().minimumShouldMatch(1);
// srvcName srvcDetail 匹配关键词
if (StringUtils.isNotBlank(vo.getKeyword())) {
//boot 优先度 增加分数
boolQuery.should(QueryBuilders.termQuery(CommonMapping.SRVC_NAME_IK, vo.getKeyword())).boost(3)