脚本化字段

edit

脚本化字段是依据 Elasticsearch 索引中的数据即时计算得到的。其作为文档数据的一部分显示在 发现 标签页上,您可以将其可视化,但是因为脚本化字段的值是在查询时实时计算产生的,所以它们不能被索引和查询。

Kibana 不能查询脚本化字段

脚本化字段因为实时计算数据,所以有可能非常耗费资源,并对 Kibana 的性能产生直接的影响。请记住,脚本化字段是没有内置校验的。如果脚本有问题,每当您试图去查看动态生成的数据时都会得到异常。

当您在 Kibana 中定义一个脚本化字段时,您可以选择使用的脚本语言。从 5.0 版本开始,默认的选项是 Lucene 表达式Painless。如果您在 Elasticsearch 中启用了其它动态脚本语言,也可以在 Kibana 中使用,但是不建议这样做。因为它们不能确保​沙箱安全

从 Elasticsearch 5.0 开始,不推荐使用 Groovy、 Javascript 和 Python 脚本,未来的版本中将不再支持这些脚本语言。

您可以在表达式中引用任何单值的数值字段,例如:

doc['field_name'].value

有关脚本化字段和其他范例的更多背景信息,请参阅此博客: Using Painless in Kibana scripted fields

创建一个脚本化字段

edit

要创建脚本化字段:

  1. 进入 设置 > 索引
  2. 选择您要添加脚本化字段的索引模式。
  3. 进入模式的 脚本化字段 标签页。
  4. 点击 添加脚本化字段
  5. 输入脚本化字段的名称。
  6. 输入您想要通过索引数据即时计算值的表达式。
  7. 点击 保存脚本化字段

有关 Elasticsearch 中脚本化字段的更多信息,请参考 Scripting

更新一个脚本化字段

edit

要修改一个脚本化字段:

  1. 进入 设置 > 索引
  2. 点击您想要修改的脚本化字段的 编辑 按钮。
  3. 修改并点击 保存脚本化字段 以更新字段。

请注意,脚本化字段没有内置验证。如果您的脚本有问题,每次当您尝试查看动态生成的数据时,都会遇到异常。

删除一个脚本化字段

edit

要删除一个脚本化字段:

  1. 进入 设置 > 索引
  2. 点击要删除的脚本化字段的 删除 按钮。
  3. 确认您确实要删除该字段。