elasticsearch 指定从Logstash索引到Elasticsearch的字段类型,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 指定从Logstash索引到Elasticsearch的字段类型,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 指定从Logstash索引到Elasticsearch的字段类型

elasticsearch 指定从Logstash索引到Elasticsearch的字段类型,elasticsearch,logstash,elasticsearch,Logstash,我已经使用从Logstash到Elasticsearch的XML过滤器插件成功地摄取了数据,但是所有字段类型都是“text”类型 有没有办法手动或自动指定正确的类型?您要做的是指定一个 更改设置以符合您的需要,例如列出要映射到的属性 设置索引模式尤其重要,因为它告诉elastic如何应用此模板。您可以设置索引模式的数组,并可以适当地使用*作为通配符。i、 e logstash的默认值是按日期轮换。它们看起来像logstash-2018.04.23,因此您的模式可以是logstash-*,任何与模

我已经使用从Logstash到Elasticsearch的XML过滤器插件成功地摄取了数据,但是所有字段类型都是“text”类型


有没有办法手动或自动指定正确的类型?

您要做的是指定一个

更改设置以符合您的需要,例如列出要映射到的属性

设置索引模式尤其重要,因为它告诉elastic如何应用此模板。您可以设置索引模式的数组,并可以适当地使用*作为通配符。i、 e logstash的默认值是按日期轮换。它们看起来像
logstash-2018.04.23
,因此您的模式可以是
logstash-*
,任何与模式匹配的都将收到模板

如果希望基于某种模式进行匹配,则可以使用


编辑:在此处添加一个小更新,如果您希望logstash为您应用模板,这里有一个链接,指向您希望了解的模板。

我发现以下技术非常适合我使用:

Logstash将过滤数据并将字段从默认文本更改为您想要的任何形式。文件可以找到。文件中给出的示例为:

filter {
  mutate {
    convert => { "fieldname" => "integer" }
  }
}
您可以将其添加到身体部位的/etc/logstash/conf.d/02-…文件中。我认为这种做法的缺点是,据我所知,不太建议修改进入ES的数据


在你这样做之后,你可能会得到。如果您有此问题,并且您的数据库是一个测试数据库,您可以删除所有旧数据,只需删除索引,直到现在不会有冲突(例如,您有一个字段,直到现在还是文本,现在它作为日期接收,新旧数据之间会有冲突)。如果不能删除旧数据,请读取我链接的链接中的答案。

如果索引模式与旋转索引的模式匹配,则将在创建索引时创建映射。i、 e如果您使用logstash的默认值并按日期旋转,它们将看起来像
logstash-2018.04.23
,因此您的模式可能是
logstash-*
,任何与模式匹配的都将收到模板。欢迎,这是一个很好的电话,我在回答中试图更好地澄清这一点。
filter {
  mutate {
    convert => { "fieldname" => "integer" }
  }
}