本文介绍Kibana对索引动态加字段显示。在实际业务数据存入Elasticsearch索引时会有一些枚举值,这些枚举值的意义不直观,也没必要在存索引时特意加一个用于显示的字段。这种场景只需在Kibana对查出的所有做一个脚本映射,新生成一个字段,不影响原Elasticsearch索引。

本文使用的Elasticsearch和Kibana版本都是7.9.0,Docker部署。先在Elasticsearch中存入一批数据,索引是一个简化过的订单数据,例子如下

{

"_index":"es-syc-demo-order-2020.09",

"_type":"_doc",

"_id":"2020091822382704930",

"_version":1,

"_score":1,

"_source":{

"_class":"com.mingo.es.sync.document.OrderEntity",

"id":"2020091822382704930",

"tradeNo":"2020091822382704930",

"buyerId":9527,

"sellerId":18899,

"type":1,

"status":1,

"amount":1,

"discountAmount":0,

"originAmount":1,

"createTime":1600439907049,

"lines":[

{

"tradeNo":"2020091822382704930",

"lineNo":"1",

"itemCode":"6352678819",

"itemName":"泡椒凤爪",

"unitCode":"DAI",

"unitName":"袋",

"type":1,

"itemPrice":1,

"price":1,

"discountPrice":0,

"itemQty":1,

"totalPrice":1,

"paidPrice":1,

"createTime":1600439907049

}

]

}

}

1. 创建索引匹配

也就是Kibana中“Create index pattern”,也就是在Kibana中创建一个ES查询入口,所有图表的制作都是基于该pattern。

创建

创建好的pattern

在Discover中查看

2. 在pattern直接映射原字段

这种方式修改了字段的“Format”,在索引展示时会覆盖原值展示,只是做了一个展示映射。

将“Format”改为“Static lookup”,就可以在下发写入映射值。

在Discover中查看

3. 在pattern中使用脚本动态添加新字段

添加新字段“order-type”

编辑脚本

def map = ['t1': '官方商城', 't2': '传统零售'];

def key = 't' + doc['type'].value;

def type = map[key];

if (type == null) { return "其他"; }

return type;

在Discover中可以看到,查询时多了一个“order-type”字段

同理,还可以添加其他字段,比如再添加一个“order-status”字段

def map = ['t1': '待支付', 't3': '待发货', 't5': '待收货', 't7': '已收货'];

def key = 't' + doc['status'].value;

def status = map[key];

if (status == null) { return "其他"; }

return status;

在Discover中用“order-type”字段过滤,这里最终查询过滤时会转化为“type”原值搜索

4. 最后

动态新加的字段在显示时不影响原字段,在制作一些图表时相当有用。

kibana 更新 索引模式_Kibana对索引动态加字段显示相关推荐

  1. kibana 更新 索引模式_Kibana探索数据(Discover)详解

    设置时间过滤器 时间过滤器按照指定的时间段展示搜索结果.设置了 index contains time-based events 和 time-field 的索引模式可以使用时间过滤器. 时间过滤器默 ...

  2. java动态字段排序_JAVA 列表动态增加字段显示和任意字段排序

    需求是用户可以在页面管理展示的字段,并且对字段的展示顺序自定义排序,控制所有字段显示隐藏,表中有默认基础字段是不可以删除的 这边全部都是后端实现: 思路: 数据表设定一个字段专门存放动态字段,字段内容 ...

  3. [安卓] 9、线程、VIEW、消息实现从TCP服务器获取数据动态加载显示

    一.前言: 一般情况下从TCP服务器读取数据是放在一个线程里读的,但是刷新界面又不得不放在线程外面,所以需要用消息传递把线程里从TCP里获得的数据传送出来,然后根据数据对页面进行相应的刷新. 二.业务 ...

  4. kibana 更新 索引模式_elasticsearch – 如何在kibana中自动配置索引模式

    是否可以在kibana中自动配置索引模式?通过一些设置文件或者休息api.安装后,可以手动完成. Kibana 5.x公开了这样一个API来管理索引模式. 要创建索引模式,可以向kibana访问URL ...

  5. Android动态加载技术

    基本信息 Author:kaedea GitHub:android-dynamical-loading 我们很早开始就在Android项目中采用了动态加载技术,主要目的是为了达到让用户不用重新安装AP ...

  6. Android插件化开发之动态加载技术简单易懂的介绍方式

    转载地方:https://segmentfault.com/a/1190000004062866 基本信息 Author:kaedea GitHub:android-dynamical-loading ...

  7. Android插件化学习之路(一)之动态加载综述

    前段时间,公司项目完成了插件化的开发,自己也因此学习了很多Android插件化的知识,于是想把这些内容记录下来,本次带来Android插件化的第一篇:动态加载综述 Android插件化学习之路(一)之 ...

  8. flink sql udf jar包_FlinkSQL 动态加载 UDF 实现思路

    导读: 最近在对 Flink 进行平台化,基于 REST API 构建一个平台实现通过纯 SQL 化编写和管理 Job.尽管 Flink官方希望用户将所有的依赖和业务逻辑打成一个fat jar,这样方 ...

  9. flinksql获取系统当前时间搓_FlinkSQL 动态加载 UDF 实现思路

    导读: 最近在对 Flink 进行平台化,基于 REST API 构建一个平台实现通过纯 SQL 化编写和管理 Job.尽管 Flink官方希望用户将所有的依赖和业务逻辑打成一个fat jar,这样方 ...

最新文章

  1. phalcon系列(1) hello phalcon
  2. pwn学习总结(五) —— ret2dl_runtime_resolve(待补充)
  3. 做红颜知己就要恪守界限
  4. openstack quantum搭建过程中一些有用的链接
  5. Python使用K-means聚类算法进行分类案例一则
  6. rabbitmq原理总结,Java反射的简单入门
  7. js open 和close 方法
  8. ubuntu 串口 树莓派_linux系统(ubuntu)烧录安装树莓派及远程连接树莓派
  9. 比特币技术Base58
  10. matlab倒立摆pid仿真,一级倒立摆课程设计--倒立摆PID控制及其Matlab仿真
  11. python没有pygame_Python菜鸟快乐游戏编程_pygame
  12. 逆序输出字符串的两种方法
  13. Google Chromecast 联网激活攻略
  14. 无法安装网络计算机加密,非系统分区使用BitLocker加密导致软件无法安装的解决方法...
  15. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.26
  16. 阿里巴巴国际站产品标题的组合和优化方法一览
  17. DDOS防护如何建设?
  18. gtbook安装使用教程
  19. Eclipse实用插件
  20. Python tell 和 seek用法

热门文章

  1. rxjs里的Observable对象subscribe方法的执行原理
  2. SAP创建基于Lead的OData服务,BO列表里只有一个Lead BO可选
  3. SAP Cloud for Customer的CTI呼叫中心解决方案
  4. 如何使用ABAP异步RFC调用提升应用性能
  5. SAP UI5应用访问OData metadata的url和Destination
  6. SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
  7. SAP Fiori Launchpad tile跳转目标的解析逻辑
  8. 一个好用的markdown表格生成工具
  9. SAP PI screenshot
  10. BSP UI Workbench double click component and see view list