原文:
返回值表示,[15,20)區間內的值有1個,[20,25)區間內的值有0個,[25,30)區間內的值有1個,[30,35)區間內的值有1個。get /index/type/_search
}}}
1、直方圖篩選規則,,,
]}
}}
舉個例子,有乙個price欄位,這個字段描述了商品的**,現在想每隔5就建立乙個桶,統計每隔區間都有多少個文件(商品)。
如果有乙個商品的**為32,那麼它會被放入30的桶中,計算的公式如下:
通過上面的方法,就可以確定文件屬於哪乙個桶。rem = value % interval
if (rem < 0)
bucket_key = value - rem
不過也有一些問題存在,由於上面的方法是針對於整型資料的,因此如果欄位是浮點數,那麼需要先轉換成整型,再呼叫上面的方法計算。問題來了,正數還好,如果該值是負數,就會出現計算出錯。比如,乙個欄位的值為-4.5,在進行轉換整型時,轉換成了-4。那麼按照上面的計算,它就會放入-4的桶中,但是其實-4.5應該放入-6的桶中。
2、extended_bounds
extended_bounds
可以強制直方圖聚合從指定最小值開始建立分組,直到最大值,即使沒有任何文件存在。
且extended_bounds
不會過濾分組,即使實際上的分組不在extended_bounds
的最小值最大值區間內,直方圖聚合依然以實際的最小值或最大值建立分組。
3、排序get /index/type/_search}}
}}
按直方圖分組的key排序:
按直方圖分組的value排序:get /index/type/_search}}
}}
4、偏移get /index/type/_search}}
}}
分組預設從0開始以interval
為間隔步進,可以通過offset
修改分組的開始位置。
get /index/type/_search
}}}
get /index/type/_search
}}}
interval
支援的表示式有:year、month、week、day、hour、quarter、minute、second。
get /index/type/_search]}
}}}
get /index/type/_search]}
}}}
等價於批量過濾聚合。get /index/type/_search}},
"filter": }}
}}}
get /index/type/_search}},
"filters": }},
"test_range2" :}}
}}
}}}
通過制定欄位的值統計聚合。get /testindex/testtype/_search
}}}
1、規模get /index/type/_search
}}}
通過size
引數指定返回的分組數量,size
設定為0表示規模大小為integer.max_value
。
2、排序
通過order
自定義分組排序方式,預設根據分組的doc_count
值降序排序。
3、過濾get /testindex/testtype/_search}}
}}
get /testindex/testtype/_search
}}}
elasticsearch 7 單機配置
elasticsearch 7.0.0 新版更新,填個坑 error1 cluster.initial master nodes is empty on this node error 2 the default discovery settings are unsuitable for produ...
ElasticSearch 7 常見的字段型別
用於全文索引,該型別的字段將通過分詞器進行分詞 不分詞,只能搜尋該字段的完整的值 long,integer,short,byte,double,float,half float,scaled float 該型別的字段把值當做經過 base64 編碼的字串,預設不儲存,且不可搜尋 範圍型別表示值是乙個...
ELK之elasticsearch7版本集群設定
elk7版本搭建參考 node 1已經安裝配置好 配置檔案如下 新建主機node 2修改elasticsearch配置檔案 etc elasticsearch elasticsearch.yml 集群名需要和node 1一致 cluster.name my es node名 集群中兩個節點的ip 啟...