ElasticSearch[5.5] 字符串数据类型的 Aggs Range 过滤器
ElasticSearch[5.5] Aggs Range filter on string datatype
RAM 移动规范中的字段有很多数据,我需要对字符串应用某种范围过滤器。我已将存储桶格式化为键值对 RAM 和 Doc count
"RAM": {
"1": 7,
"32": 1,
"32 MB": 490,
"1 GB": 426,
"2 GB": 361,
"3 GB": 269,
"4 GB": 143,
"512 MB": 136,
"256 MB": 87,
"10 MB": 61,
"64 MB": 47,
"1 MB": 45,
"128 MB": 41,
"56 MB": 27,
"1.5 GB": 23,
"16 MB": 12,
"35 MB": 12,
"4 MB": 11,
"0.032 MB": 10,
"100 MB": 7,
"3 MB": 7,
"2 MB": 6,
"768 MB": 6,
"40 MB": 4,
"30 MB": 3,
"6 GB": 3,
"20 MB": 2,
"46 MB": 2,
"500 MB": 2,
"60 MB": 2,
"120 MB": 1,
"131 MB": 1,
"138 MB": 1,
"153 MB": 1,
"200 MB": 1,
"24 MB": 1,
"250 MB": 1,
"260 MB": 1,
"50 MB": 1,
"55 MB": 1,
"65 MB": 1,
"8 GB": 1
}
如何将上面的转换成下面的形式
128 MB and Below
1 GB
2 GB
3 GB
4 GB
6 GB and Above
一种可能的解决方案是将 RAM 的值索引为数字数据类型并在该字段上应用范围过滤器。但是如何区分 1 Mb 和 1 GB 。
我通过转换所有最低单位并删除转换单位来解决它。
请在此处查看
https://discuss.elastic.co/t/elasticsearch-5-5-aggs-range-filter-on-string-datatype/106400/3
RAM 移动规范中的字段有很多数据,我需要对字符串应用某种范围过滤器。我已将存储桶格式化为键值对 RAM 和 Doc count
"RAM": {
"1": 7,
"32": 1,
"32 MB": 490,
"1 GB": 426,
"2 GB": 361,
"3 GB": 269,
"4 GB": 143,
"512 MB": 136,
"256 MB": 87,
"10 MB": 61,
"64 MB": 47,
"1 MB": 45,
"128 MB": 41,
"56 MB": 27,
"1.5 GB": 23,
"16 MB": 12,
"35 MB": 12,
"4 MB": 11,
"0.032 MB": 10,
"100 MB": 7,
"3 MB": 7,
"2 MB": 6,
"768 MB": 6,
"40 MB": 4,
"30 MB": 3,
"6 GB": 3,
"20 MB": 2,
"46 MB": 2,
"500 MB": 2,
"60 MB": 2,
"120 MB": 1,
"131 MB": 1,
"138 MB": 1,
"153 MB": 1,
"200 MB": 1,
"24 MB": 1,
"250 MB": 1,
"260 MB": 1,
"50 MB": 1,
"55 MB": 1,
"65 MB": 1,
"8 GB": 1
}
如何将上面的转换成下面的形式
128 MB and Below
1 GB
2 GB
3 GB
4 GB
6 GB and Above
一种可能的解决方案是将 RAM 的值索引为数字数据类型并在该字段上应用范围过滤器。但是如何区分 1 Mb 和 1 GB 。
我通过转换所有最低单位并删除转换单位来解决它。
请在此处查看
https://discuss.elastic.co/t/elasticsearch-5-5-aggs-range-filter-on-string-datatype/106400/3