如何处理Elasticsearch中包含“ _”的字段?

时间:2018-10-25 23:06:04

标签: mongodb elasticsearch kibana-5

我正在使用Mongo-Connector定位elasticsearch。这对于使elasticsearch保持最新状态非常有用,但是我对其中一个字段存在问题,因为它包含一个'_'。如果我运行重命名/重新索引,则不断从mongodb复制/流式传输数据,新文档将再次以下划线显示。

Kibana在字段开头不支持下划线。处理此问题的最佳做法是什么?

我已向issue提交了elastic2-doc-managerMongo-Connector来支持摄取节点,但这对于kibana来说是一个更大的问题,这是我使用脚本字段和重命名该字段失败。

这似乎是一个巨大的问题。我看到到处都有数据的下划线,这似乎对kibana团队来说是一个非常糟糕的决定。

Kibana错误: enter image description here

我找到了一些有关此问题的github参考,但没有解决方法。

1 个答案:

答案 0 :(得分:1)

以_开头的字段保留在Elasticsearch中使用。 Kibana目前不支持带有_的字段,至少目前还不支持。对此的请求-https://github.com/elastic/kibana/issues/14856仍然处于打开状态。

在此之前,如果您想在可视化等方面使用该字段,我相信您需要重命名。

虽然不使用logstash或filebeat便无法轻松重命名该字段,而Mongo-Connector不支持它们之一,但可以改用如下所示的脚本字段来创建新字段并复制_字段的值。这样,您可以使用新字段可视化等。为ex添加新的脚本字段。使用以下脚本的itemType,看看它是否有效。

doc['_itemType.keyword'].value

注意,尽管只能像这样使用关键字字段,但文本类型字段不起作用。如果您的_itemType字段是文本类型,请修改映射以在_itemType下包含关键字类型的子字段keyword,然后尝试编写脚本的字段。