我正在嘗試存盤范圍聚合并實作以下存盤桶:
<=0 - 0 including negative numbers
>=1 - 1 and above
欄位型別 = 整數
詢問:
GET _search
{
"aggs": {
"stock_ranges": {
"range": {
"field": "Facets_Integer_Stock",
"ranges": [
{
"to": 0
},
{
"from": 1
}
]
}
}
}
}
欄位映射Facets_Integer_Stock:
"Facets_Integer_Stock" : {
"type" : "integer"
},
我預計第一個桶中有 2 個計數 <0。-1它應該包括帶有和的命中0。
回復
{
"took" : 26,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"stock_ranges" : {
"buckets" : [
{
"key" : "*-0.0",
"to" : 0.0,
"doc_count" : 1
},
{
"key" : "1.0-*",
"from" : 1.0,
"doc_count" : 2
}
]
}
}
}
uj5u.com熱心網友回復:
在range聚合中,to始終是獨占的,您應該使用lteandgte來代替:
GET _search
{
"aggs": {
"stock_ranges": {
"range": {
"field": "Facets_Integer_Stock",
"ranges": [
{
"lte": 0
},
{
"gte": 1
}
]
}
}
}
}
uj5u.com熱心網友回復:
解決
POST /_bulk/
{"index":{"_index":"72376077"}}
{"data": -1}
{"index":{"_index":"72376077"}}
{"data":-2}
{"index":{"_index":"72376077"}}
{"data":0}
{"index":{"_index":"72376077"}}
{"data":1}
{"index":{"_index":"72376077"}}
{"data":2}
GET /72376077/_search
{
"size": 0,
"aggs": {
"stock_ranges": {
"range": {
"field": "data",
"ranges": [
{
"to": 0.1
},
{
"from": 1
}
]
}
}
}
}
它給了那些桶:
{
"buckets": [
{
"key": "*-0.1",
"to": 0.0,
"doc_count": 3
},
{
"key": "1.0-*",
"from": 1.0,
"doc_count": 2
}
]
}
哪個看起來絕對沒問題?
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481747.html
上一篇:名稱的彈性匹配查詢
