elasticSearch - SUM聚合返回双精度值而不是长整型值

of1yzvn4  于 2023-03-01  发布在  ElasticSearch
关注(0)|答案(1)|浏览(163)

我正在对一个LONG字段(eventSize)进行多重聚合。
有没有什么方法可以请求另一种格式而不丢失总和聚合输出的精度?
下面是我使用的请求部分和得到的响应。
质询:

"aggs": {
        "eventTermsAgg": {
            "terms": {
                "field": "eventType"
            },
            "aggs": {
                "splitPerDayAgg": {
                    "date_histogram": {
                        "field": "date",
                        "fixed_interval": "1d",
                        "format": "yyyy-MM-dd"
                    },
                    "aggs": {
                        "eventSizeAgg": {
                            "sum": {
                                "field": "eventSize",
                                "format": "##.00"
                            }
                        }
                    }
                }
            }
        }
    }

回复:

"key": "112233",
     "doc_count": 123,
         "splitPerDayAgg": {
             "buckets": [
             {
                 "key_as_string": "2022-12-15",
                 "key": 123456789,
                 "doc_count": 3456,
                 "eventSizeAgg": {
                 "value": 1.01724077E8,
                 "value_as_string": "101724077.00"
             }
     }

我尝试使用“格式”:SUM aggs参数中的“##.00”,但它只返回与string相同的值,丢失了实际总和的精度。

zvokhttg

zvokhttg1#

在你分享的回答中,我没有看到任何精确性的损失:原始值以E符号1.01724077E8表示,其对应于value_as_string字段中报告的101724077.00值。
但是,我不确定为什么要在LONG值的和中显示小数。

相关问题