//獲取推薦文章 public Object getRecommendList2(String name) { NativeSearchQueryBuilder queryBuilder = new NativeSearchQueryBuilder(); BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); MoreLikeThisQueryBuilder moreLikeThisQueryBuilder = null; //(1)添加查詢字段 moreLikeThisQueryBuilder = QueryBuilders.moreLikeThisQuery("title","abstractStr"); //(2)獲取搜索次數最多的關鍵詞 List<String> keywordList = searchLogService.getSizeCount(name); for (String keyword : keywordList)//查詢相應的文章 { moreLikeThisQueryBuilder.addLikeText(keyword);//添加查詢關鍵詞 } moreLikeThisQueryBuilder.minTermFreq(1); moreLikeThisQueryBuilder.minDocFreq(0); //(3)設置請求條件 boolQueryBuilder.must(moreLikeThisQueryBuilder); boolQueryBuilder.must(QueryBuilders.termQuery("status", ArticleStatus.SUCCESS)); queryBuilder.withQuery(boolQueryBuilder); //(4)設置分頁 PageRequest page = new PageRequest(0, 15); queryBuilder.withPageable(page); //(5)請求搜索 List<Article> searchResponse = articleResponsitory.search(queryBuilder.build()).getContent(); return searchResponse; }