1. 程式人生 > >ES 2.4 java API aggregation API

ES 2.4 java API aggregation API

聚合主要有三大類: 

A family of aggregations that build buckets, where each bucket is associated with a key and a document criterion. When the aggregation is executed, all the buckets criteria are evaluated on every document in the context and when a criterion matches, the document is considered to "fall in" the relevant bucket. By the end of the aggregation process, we’ll end up with a list of buckets - each one with a set of documents that "belong" to it. 比如:屬性的值得範圍,分類之類的 Aggregations that keep track and compute metrics over a set of documents. 和數學
運算相關,比如:求取平均值 Aggregations that aggregate the output of other aggregations and their associated metrics 關聯其他聚合
SearchResponse sr = node.client().prepareSearch()
    .addAggregation(
        AggregationBuilders.terms("by_country").field("country")
        .subAggregation(AggregationBuilders.dateHistogram("by_year")
            .field("dateOfBirth")
            .interval((DateHistogramInterval.YEAR)
            .subAggregation(AggregationBuilders.avg("avg_children").field("children"))
        )
    )
    .execute().actionGet();
  • Terms aggregation (bucket)
    Date Histogram aggregation (bucket)
    Average aggregation (metric)
     

 metric Aggregation幾具體操作:

max、min、sun、avg

MetricsAggregationBuilder aggregation =
        AggregationBuilders
                .avg("agg")
                .field("height");

取結果
Avg agg = sr.getAggregations().get("agg");
double value = agg.getValue();

stats包括上述的外加一個count

而extende stats 不僅包括stats還包括平法差一類的,更全面

還有百分之幾,範圍什麼的,可以根據自己的需求再看看這一方面的介紹,metric Aggregation

Bucket aggregations

global 全域性的,filter 、filters、missing 沒有值或者是null的統計、terms 分類、range、date range、histogram 直方圖、date histogram 等等,具體的運用看Bucket aggregation的介紹。

相關推薦

ES 2.4 java API aggregation API

聚合主要有三大類:  A family of aggregations that build buckets, where each bucket is associated with a key and a document criterion. When the

ES 2.4 java API document APIs

暫時記錄的只是我看的比較懂得 TransportClient  客戶端的建立 Settings settings = Settings.settingsBuilder() .put("cluster.name", "myClusterName").buil

【ZooKeeper系列】2.用Java實現ZooKeeper API的呼叫

溫馨提示:在這裡我再次提個小要求,希望大家能習慣看官方文件,文件雖然是英文但用詞都比較簡單,基本都能看懂文件表達的意思。授之以魚不如授之以漁的道理相信大家都明白,也希望通過猿人谷的這個ZooKeeper系列,讓大家入門、到熟悉,舉一反三後能精通ZooKeeper。 在前一篇我們介紹了ZooKeeper單機

使用Hbase協作器(Coprocessor)同步資料到ElasticSearch(hbase 版本 1.2.0-cdh5.8.0, es 2.4.0 版本)

參考 https://gitee.com/eminem89/Hbase-Observer-ElasticSearch 上面的程式碼,但是由於我的es版本是2.4.0 和作者的版本不對應導致功能無法正常使用,所以特此記錄修改成能參考   程式碼如

ES 2.4.0下Search-guard安裝配置

ES叢集中任意節點進行以下操作 一、安裝search-guard-ssl及search-guard 1、安裝search-guard-ssl /usr/share/elasticsearch/bin/

hbase1.2.4 API改動

navi -c port onf ber ubun throws eof conn 使用ConnectionFactory來連接數據庫 表名使用特定的類TableName而不是字符串 棄用HAdmin使用Admin,通過Connection獲取 啟用HTable使用Tab

讀《分布式一致性原理》JAVA客戶端API操作2

open size 改變 網絡通 調用 異常 pat ride aca 創建節點 通過客戶端API來創建一個數據節點,有一下兩個接口: public String create(final String path, byte data[], List<ACL&

es學習-java操作 2.4.0版本

不同 package req twitter imp rep header comm earch package esjava;import org.elasticsearch.action.bulk.*;import org.elasticsearch.action.de

大資料教程(7.4)HDFS的java客戶端API(流處理方式)

        博主上一篇部落格分享了namenode和datanode的工作原理,本章節將繼前面的HDFS的java客戶端簡單API後深度講述HDFS流處理API。       &nb

OpenGL ES 2.0 中文API

大部分都是谷歌翻譯的,只是自己看API的時候順便將其翻譯的結果整理了一下,貼出來方便自己以後看,他人可以看,看到有問題的翻譯可以指點。 glActiveTextureglAttachShaderglBindAttribLocationglBindBufferglBindFramebuffer

[Hadoop 2] 常用 Java API 及應用例項

1 開啟 Eclipse,開始建立專案,選擇頂部選單 File->New->Java Project,建立名為 HadoopTest 專案,如下圖: 2 為專案載入所需要的 jar 包。 如何獲取 jar 包: Java API 所在的 jar 包都在已經

《Hibernate快速開始 – 4 – 使用JAVA持久層 API (JPA)教程》

章節目標 使用JPA EntityManagerFactory 使用註解提供對映資訊 使用 JPA 介面 本教程可在 entitymanger/ 路徑下下載 4.1. persistence.xml 之前的章節使用了hibernate原生的配置檔案hibernate.cfg.xml。然而

java使用Extract API 2.0生成.hyper檔案

突然接到一個任務,需要用java使用Extract API 2.0實現抽取資料庫的數並生成.hyper檔案。沒辦法,只能一邊看文件一邊寫個demo先試試看能不能行得通。 文件:https://onlinehelp.tableau.com/current/api/extract_api/e

Elasticsearch5.4 Java API操作

public class ClientFactory {     @SuppressWarnings({ "resource", "unchecked" })public static Client transportClient() {//建立clientTransp

ElasticSearch5.4.3 環境搭建 2017 (5-Java Client Security Api x-pack)

完成基本的配置以後,下面使用java client api進行簡單的開發測試。 官方教程:噗嗤 1. Maven 依賴 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://ww

java.io.BufferedWriter API 以及源碼解讀

[] less bound line http puts null package tor 下面是java se 7 API 對於java.io.BufferedWriter 繼承關系的描述。 BufferedWriter可以將文本寫入字符流。它會將字符緩存,目的是提高寫

Java 8 Stream API具體解釋

介紹 lis 控制臺輸出 output 排序。 case 編程效率 func 遍歷 Java 8 Stream API具體解釋 一、Stream API介紹 Java 8引入了全新的Stream API,此Stream與Java I/O包裏的In

Laravel 5.4建站06--API 認證系統 Passport

檢查 resp alt pre tails provide 函數 onf gis 介紹 在 Laravel 中,實現基於傳統表單的登陸和授權已經非常簡單,但是如何滿足 API 場景下的授權需求呢?在 API 場景裏通常通過令牌來實現用戶授權,而非維護請求之間的 Sessio

[CVE-2017-5487] WordPress <=4.7.1 REST API 內容註入漏洞分析與復現

tps 文章 分析 請求 利用 api文檔 each includes 什麽 不是很新的漏洞,記錄下自己的工作任務 漏洞影響: 未授權獲取發布過文章的其他用戶的用戶名、id 觸發前提:wordpress配置REST API 影響版本:<= 4.7 0x01漏洞

ElasticSearch--------------------->Elasticsearch Clients--------------------->Java REST Client API

document 開發者 href 結果 技術 clas 技術分享 例如 使用curl Elasticsearch——>Java REST Client API 概述: elasticsearch提供了REST WEB API,所以開發者可以在自己的restful