ES6.0.0官方參考指南翻譯~指標聚合~Min Aggregation

這是一種單值指標聚合,用於跟蹤並返回聚合文檔提取數值中的最小值。

這些值既可從文檔的特定數值字段提取,也可以通過腳本生成.

注意

min和max聚合會在數據的雙重表示(double representation)上操作.

因此,當在絕對值大於2 ^ 53的long上運行時,結果是近似的。

計算所有文檔的最小价格:

POST /sales/_search?size=0

{

"aggs" : {

"min_price" : { "min" : { "field" : "price" } }

}

}

響應:

{

...

"aggregations": {

"min_price": {

"value": 10.0

}

}

}

聚合名稱(即上面的min_price)也可作為返回檢索聚合結果的鍵.

Script

min聚合還可計算腳本的最小值。 以下示例會計算最低價格:

POST /sales/_search

{

"aggs" : {

"min_price" : {

"min" : {

"script" : {

"source" : "doc.price.value"

}

}

}

}

}

它使用的是不帶腳本參數的Painless腳本語言.

要使用存儲腳本,可使用如下語法:

POST /sales/_search

{

"aggs" : {

"min_price" : {

"min" : {

"script" : {

"id": "my_script",

"params": {

"field": "price"

}

}

}

}

}

}

Value Script

假設文檔中的價格單位是USD(美元),但我們想以EURO(歐元)來計算最小值(在這裡,我們假設費率為1.2).為此,我們可以使用值腳本來修改每個price值:

POST /sales/_search

{

"aggs" : {

"min_price_in_euros" : {

"min" : {

"field" : "price",

"script" : {

"source" : "_value * params.conversion_rate",

"params" : {

"conversion_rate" : 1.2

}

}

}

}

}

}

Missing value

missing 參數用於定義如何處理文檔中的缺失值.

默認,它會忽略缺失值,但也可以將其視為有值字段.

POST /sales/_search

{

"aggs" : {

"grade_min" : {

"min" : {

"field" : "grade",

"missing": 10 #1

}

}

}

}

1.grade字段中無值的文檔會與值為10的文檔放在同一個桶中.

全部指標聚合,請參考

單值指標聚合

多值指標聚合

地理位置相關聚合

可執行Map-Reduce計算的聚合


分享到:


相關文章: