ES最常用API讲解及关键字高亮显示
最基础,最常用的几个API。
QueryBuilder
查询构造器,一个接口,MatchQueryBuilder,TermQueryBuilder,BoolQueryBuilder都实现了这个接口。
NativeSearchQueryBuilder
- queryBuilder.withQuery():
ES中查询方式很多,如布尔查询,匹配查询,精准查询等。这个方法用于包含某种查询,如:queryBuilder.withQuery(boolQuery);
- queryBuilder.withPageable():
用来控制分页及排序。
- queryBuilder.withHighlightFields():
用来控制高亮显示,可以自定义CSS样式,对想要高亮显示的字段进行处理,官方API如下,参数为高亮的字段,同类型,数量可变。
HighlightBuilder
常用来明确高亮哪个字段及前后缀。
高亮显示原理就是在每一个关键字前后增加CSS样式,使用这个API,来达到高亮的效果。使用方法为new HighlightBuilder.Field(fieldNames[1]).preTags("").postTags("")。
BoolQueryBuilder
布尔查询构造器,有must,filter,should等多种查询方法,根据业务需求选择相应的方法。
ElasticsearchTemplate
AggregatedPage aggregatedPage = esTemplate.queryForPage(query,Class);
List filesList = aggregatedPage.getContent();