如何处理 elasticsearch 中包含“_”的字段?
How do I handle fields in elasticsearch that contain a '_'?
我正在使用 Mongo-Connector targeting elasticsearch。这对于使 elasticsearch 保持最新非常有用,但我对其中一个字段有疑问,因为它包含一个“_”。如果我 运行 一个 rename/reindex 新文档将再次开始显示下划线,则数据正在从 mongodb 不断地 replicated/streamed。
Kibana 不支持字段开头的下划线。处理此问题的最佳做法是什么?
我已经提交了一个 issue with elastic2-doc-manager for Mongo-Connector 来支持摄取节点,但这感觉像是 kibana 的一个更大的问题,我所有尝试使用脚本字段和重命名字段来解决这个问题都失败了。
这似乎是个大问题。我在数据中到处都看到下划线,这对 kibana 团队来说似乎是一个非常糟糕的决定。
Kibana 错误:
我找到了一些关于此问题的 github 参考资料,但没有解决方法。
- 已关闭的问题:fields starting with underscore ( _ ) doesn't show
- 从不合并 Pull request: 取消不允许的限制
'_'-前缀字段。
- 未决问题:允许以 _ 为前缀的字段
(最初是#4291)
以 _ 开头的字段保留供在 Elasticsearch 中使用。 Kibana 目前不支持带 _ 的字段,至少现在不支持。对此的请求 - https://github.com/elastic/kibana/issues/14856 仍处于打开状态。
到那时,如果您想在可视化等中使用该字段,我相信您需要重命名它。
虽然您不能在不使用 logstash 或 filebeat 的情况下轻松重命名该字段,并且 Mongo-Connector 不支持它们中的任何一个,但您可以改为使用如下脚本字段来创建新文件并复制_ 字段的值。这样您就可以使用新字段进行可视化等。为 ex 添加一个新的脚本字段。使用以下脚本输入 itemType 并查看它是否有效。
doc['_itemType.keyword'].value
请注意虽然这样只能使用关键字字段,但文本类型字段将不起作用。如果您的 _itemType
字段是文本类型,请修改映射以在 _itemType 下包含关键字类型的子字段 keyword
并尝试脚本字段。
我正在使用 Mongo-Connector targeting elasticsearch。这对于使 elasticsearch 保持最新非常有用,但我对其中一个字段有疑问,因为它包含一个“_”。如果我 运行 一个 rename/reindex 新文档将再次开始显示下划线,则数据正在从 mongodb 不断地 replicated/streamed。
Kibana 不支持字段开头的下划线。处理此问题的最佳做法是什么?
我已经提交了一个 issue with elastic2-doc-manager for Mongo-Connector 来支持摄取节点,但这感觉像是 kibana 的一个更大的问题,我所有尝试使用脚本字段和重命名字段来解决这个问题都失败了。
这似乎是个大问题。我在数据中到处都看到下划线,这对 kibana 团队来说似乎是一个非常糟糕的决定。
Kibana 错误:
我找到了一些关于此问题的 github 参考资料,但没有解决方法。
- 已关闭的问题:fields starting with underscore ( _ ) doesn't show
- 从不合并 Pull request: 取消不允许的限制 '_'-前缀字段。
- 未决问题:允许以 _ 为前缀的字段 (最初是#4291)
以 _ 开头的字段保留供在 Elasticsearch 中使用。 Kibana 目前不支持带 _ 的字段,至少现在不支持。对此的请求 - https://github.com/elastic/kibana/issues/14856 仍处于打开状态。
到那时,如果您想在可视化等中使用该字段,我相信您需要重命名它。
虽然您不能在不使用 logstash 或 filebeat 的情况下轻松重命名该字段,并且 Mongo-Connector 不支持它们中的任何一个,但您可以改为使用如下脚本字段来创建新文件并复制_ 字段的值。这样您就可以使用新字段进行可视化等。为 ex 添加一个新的脚本字段。使用以下脚本输入 itemType 并查看它是否有效。
doc['_itemType.keyword'].value
请注意虽然这样只能使用关键字字段,但文本类型字段将不起作用。如果您的 _itemType
字段是文本类型,请修改映射以在 _itemType 下包含关键字类型的子字段 keyword
并尝试脚本字段。