栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

elasticsearch6.6热词统计

elasticsearch6.6热词统计

public List searchHotWord() {
        try {
            SearchRequest searchRequest = new SearchRequest(indexName);//indexName是索引名称
            SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
            searchSourceBuilder.query(QueryBuilders.matchAllQuery());
            searchRequest.source(searchSourceBuilder);
            //聚合分析查询出现次数最多的10个词汇,hotWord是聚合名称,name是es的字段名
            TermsAggregationBuilder keyword_agg = AggregationBuilders.terms("hotWord").field("name").size(10).order(BucketOrder.count(false));
            searchSourceBuilder.aggregation(keyword_agg);
            searchRequest.source(searchSourceBuilder);
            SearchResponse response = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);
            Aggregations aggregations = response.getAggregations();

            Terms term = aggregations.get("hotWord");
            List buckets = (List) term.getBuckets();
            List hotWords = new ArrayList<>();
            for (Terms.Bucket bucket : buckets) {
                String key = (String) bucket.getKey();
                long docCount = bucket.getDocCount();
                hotWords.add(key);
                logger.info("热词:"+key+"数量为:"+docCount);
            }
            return hotWords;
        }catch (Exception e){
            logger.error("热词搜索失败");
        }
        return null;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/487512.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号