//获取推荐文章 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; }