Elasticsearch:提高某欄位評分
- 2019 年 11 月 14 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/chengyuqiang/article/details/103042827
public Iterator<DocBean> search(String key,Integer pageNum,Integer pageSize) { BoolQueryBuilder boolQueryBuilder= QueryBuilders.boolQuery() .should(QueryBuilders.matchQuery("firstCode",key).boost(2)) //提高評分 .should(QueryBuilders.matchQuery("secordCode",key).boost(2))//提高評分 .should(QueryBuilders.matchQuery("content",key)); NativeSearchQuery nativeSearchQuery=new NativeSearchQueryBuilder() .withQuery(boolQueryBuilder) .withPageable(PageRequest.of(pageNum,pageSize)) .build(); long count=elasticsearchTemplate.count(nativeSearchQuery, DocBean.class); AggregatedPage<DocBean> page= elasticsearchTemplate.queryForPage(nativeSearchQuery, DocBean.class, new MyMapper()); return page.iterator(); }