zoukankan      html  css  js  c++  java
  • ES-moreLikeThisQueryBuilder-文章推荐

        //获取推荐文章
        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;
        }
  • 相关阅读:
    类属性、实例属性
    多态
    重载
    多继承
    继承介绍以及单继承
    析构
    构造
    self
    方法
    属性
  • 原文地址:https://www.cnblogs.com/excellencesy/p/11898619.html
Copyright © 2011-2022 走看看