elasticsearch 인기 어휘 전시 실현

2056 단어 elasticsearch
검색 페이지에는 자주 인기 어휘를 보여 달라는 요구가 있다.사용자가 자주 검색하는 어휘를 나타나는 횟수에 따라 보여 줍니다.이것은 사실 고전적인wordcount이고 데이터 분석 분야의 전형적인 입문 사례이다.hadoop과strorm에 비해.es로 편리하게 실현할 수 있습니다.
            // 
            SearchRequestBuilder requestBuilder = esClient.prepareSearch("index").setTypes("log").setQuery(QueryBuilders.matchAllQuery());
            // 10 
            SearchResponse actionGet = requestBuilder.addAggregation(AggregationBuilders.terms("hotWord").field("keywords").size(10)).execute().actionGet();
            // 
            Aggregations aggregations = actionGet.getAggregations();
            Terms trem = aggregations.get("hotWord");
            List buckets = trem.getBuckets();
            List hotWords = new ArrayList<>();
            for (Bucket bucket : buckets) {
                String key = (String) bucket.getKey();
                hotWords.add(key);
            }

좋은 웹페이지 즐겨찾기