Scripted Fields(脚本字段)
脚本字段(Scripted fields)根据您的 Elasticsearch 索引中的数据即时计算数据。脚本字段数据作为文档数据的一部分显示在 “发现” 选项卡(Discover tab)上,您可以在可视化(visualizations)中使用脚本字段。脚本化字段值在查询时计算,因此它们未编入索引并且无法搜索。
注意 :
Kibana 无法查询脚本字段。
警告 :
使用脚本字段来即时计算数据可能是资源非常密集型的,并且可以直接影响 Kibana 的性能。请记住,没有对脚本字段的内置验证。如果你的脚本有 BUG ,当你查看动态生成的数据时,你会得到异常。
在 Kibana 中定义脚本字段时,您可以选择脚本语言(scripting languages)。从 5.0 开始,默认选项是 Lucene 表达式和 Painless 。虽然你可以使用其他脚本语言,如果您在 Elasticsearch 中为它们启用动态脚本,不建议这样做,因为它们不能充分sandboxed 。
警告 :
从 Elasticsearch 5.0 开始,不推荐使用 Groovy , Javascript 和 Python 脚本,并且将来会删除对这些脚本语言的支持。
你可以引用表达式中的任何单个值数字字段,例如 :
doc['field_name'].value
有关脚本字段(scripted fields)和其他示例的更多背景,请参阅此博客:在 Kibana 脚本字段中使用 Painless 。
创建脚本字段(Creating a Scripted Field)
要创建脚本字段 :
- 转到 “设置(Settings)” > “索引(Indices)” 。
- 选择要添加脚本字段的索引模式。
- 转到 模式的 “脚本字段(Scripted Fields)” 选项卡。
- 单击添加脚本字段(Add Scripted Field)。
- 输入脚本字段的名称。
- 输入要用于从索引数据即时计算值的表达式。
- 单击保存脚本字段(Save Scripted Field)。
有关 Elasticsearch 中脚本字段的详细信息,请参阅 脚本(Scripting)。
更新脚本字段(Updating a Scripted Field)
要修改脚本字段 :
- 转到 “设置(Settings)” > “索引(Indices)” 。
- 单击要更改的脚本字段的 “编辑(Edit)” 按钮。
- 进行更改,然后单击 “保存脚本字段(Save Scripted Field)” 以更新字段。
警告 :
请记住,没有对脚本字段的内置验证。如果你的脚本有 bug ,当你尝试查看动态生成的数据时,你会得到异常。
删除脚本字段(Deleting a Scripted Field)
要删除脚本字段 :
- 转到 “设置(Settings )” > “索引(Indices)” 。
- 单击要删除的脚本字段的删除(Delete)按钮。
- 确认您确实要删除字段。