问题描述
在使用kibana做可视化的时候,总是避免不了因为数据的格式或者长度的问题导致显示异常,比如,我这里做了一个词云,用于显示最常出问题的模块:
模块的值是从标准日志里面提取出来的。一些超长的模块名,导致UI无法完全显示:
类似的,在做数据展示的时候,你总会碰到某些场景,要求你对数据做一些格式化的操作才能符合需求。
其中一种解决方案是:我们可以在数据落地的时候就对数据进行额外的操作,将数据转换为我们希望的格式。
但这种方案并不灵活和经济:
- 如果数据已落地,则无法修改
- 如果需要保留数据,则需要额外的字段去存储格式化的数据
script field
针对以上的场景,elasticsearch很贴心的为我们设计了script field。script field有一些很重要的特性:
- 平时并不存在,不占存储空间,属于运行时属性
- 在搜索和聚合的时候可以看到script field
因为所有的可视化场景都是对应的搜索和聚合的操作,script field就很方便的为我们提供了额外的数据格式化的机会。</