【问题标题】:Replacing a dot in an field name替换字段名称中的点
【发布时间】:2016-04-21 23:56:21
【问题描述】:

早上好,

正在升级到最新版本的 ELK 堆栈并遇到字段映射问题。我的原始数据中有类似以下内容:

{
  "_index" : "logstash-2016.04.21",
  "level1" : {
    "level2" : {
      "1" : "somevalue",
      "1.1" : "somevalue1"
    }
  }
}

众所周知,elasticsearch 2.X 不喜欢字段名称中的点 (.),这会弄乱点符号。因此,作为 elasticsearch 的新手,我无法找到一种方法或搜索正确的术语,以找到一种使用映射或分析器或“我还不知道的东西”来解决此问题的方法。我希望这里的社区可以帮助我找到解决此问题的方法,以便我可以重新索引我所有当前的索引以及将其映射到未来的索引。

目前在 ES 版本 1.7,在 debian 上运行

谢谢你, 迈克

【问题讨论】:

  • 虽然 logstash 插件可能工作。我认为在我的特殊情况下不是。我正在尝试使用 stream2es 从一个实例复制到另一个实例。是否有任何直接与弹性搜索(插件、映射、模板)可能能够做到这一点的东西?

标签: elasticsearch logstash


【解决方案1】:

如果您无法修复输入,logstash 有一个 de_dot 过滤器用于此目的。

【讨论】:

  • 感谢@AlainCollins!请原谅我的新手,但是在安装插件之后,我会在哪里包含它以使其删除点?
  • 您还知道一种方法来使用它来重新索引现有索引吗?
  • de_dot 是一个过滤器,默认情况下,它将遍历您的所有字段并删除点。您可以将其配置为查看某些字段。
猜你喜欢
  • 2011-06-03
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 2011-02-21
  • 2012-07-23
  • 1970-01-01
  • 2015-06-01
  • 2016-11-26
相关资源
最近更新 更多