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();      }