ES-moreLikeThisQueryBuilder-文章推荐
2024-10-08 13:35:44
//获取推荐文章
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;
}
最新文章
- HTTP状态码(HTTP Status Code)
- [已解决] 快速理解RSA算法
- 初学CDQ分治-NEU1702
- 最小二乘法 python实现
- 【BZOJ 1079】[SCOI2008]着色方案
- 运行所选代码生成器时出错:无效指针(异常来自HRESULT:0x80004003(E_POINTER))
- UVA 10142 Australian Voting(模拟)
- Android学习之RecyclerView
- Angular2的模块架构浅谈
- 【原创】07. ajax请求,解决sendRedirect 无效
- Node.js 常用工具
- nyoj 星期几?
- CAGradientLayer简介 实现颜色渐变
- Being a Good Boy in Spring Festival HDU - 1850
- BinarySearch(Java)
- How to set up github to work with Visual Studio 2013
- linux----之tcpdump小用
- Java 连接 Access数据库方式
- Eclipse中的SVN操作
- Linux系统重要的开机自启动的服务