当前位置: 首页 > 面试题库 >

将Logstash与Elasticsearch输出一起使用时.raw字段来自哪里?

微生毅
2023-03-14
问题内容

当同时使用Logstash和Elasticsearch时,带有.raw的字段会附加到已分析的字段中,因此,当使用诸如Kibana之类的工具查询Elasticsearch时,可以按原样使用字段的值,而无需按词拆分。

我用最新的所有版本构建了ELK堆栈的新安装,并注意到.raw不再像在较早版本的堆栈中那样创建我的字段。有很多人在Elasticsearch上发布了创建模板的解决方案,但是我无法找到很多有关
为什么可以 解决问题的信息。为了更好地理解更广泛的问题,我提出以下具体问题:

.raw字段来自哪里?

我以为Logstash在插入文档时在分析字符串和原始字符串时填充了Elasticsearch,但是考虑到此修复程序位于Elasticsearch模板中的事实,我质疑我的假设是否正确。


问题答案:

您的假设是正确的,即这些.raw字段是Logstash创建IF的默认索引模板manage_template: true(默认情况下)中包含的字符串字段的动态模板的结果。

Logstash创建的默认模板(从2.1开始)可以在此处看到。如您在第26行所看到的,所有字符串字段(message一个字符串字段除外)都not_analyzed
.raw创建了一个子字段。

但是,该模板在最新的Logstash版本中没有更改,可以在template.json更改历史记录中看到,因此您的安装肯定有其他问题,或者您更改了Logstash配置以使用自己的索引模板(无.raw字段)代替。

如果运行curl -XGET localhost:9200/_template/logstash*,应该会看到Logstash创建的模板。



 类似资料:
  • 假设我有一个包含三种数据的ElasticSearch实例——作者、出版商和图书——都在JSON中。作者数据如下所示: ,发布者数据如下所示: ,则书籍数据如下所示: 到目前为止,每个都进入了自己的索引。 我想创建一个非规范化的数据版本,以便我可以轻松搜索加拿大作家撰写或兰登书屋出版的所有书籍。我需要支持对作者,出版商和书籍数据的更新,以便如果作者搬到新的国家/地区或更改其名称,非规范化的副本也将更

  • 我用的是py。测试以运行测试。我将它与pytest xdist一起使用以并行运行测试。我想在测试中看到print语句的输出。 我有:Ubuntu 15.10,Python 2.7.10,pytest-2.9.1,plugy-0.3.1。 这是我的测试文件: 当我跑步的时候。测试时,没有打印任何内容。这是预期的:默认情况下,py。测试捕获输出。 当我跑步的时候。test-s,它会打印test_a和t

  • 这似乎是一个基本问题,但我无法在其他地方找到答案。如果这是一个重复的帖子,请原谅。 是否可以对标记为@XmlAccessorType(XmlAccessType. FIELD)的类进行@XmlValue注释? 我正在尝试使用JAXB解析XML文件,虽然XML本身很大并且有其他字段,但问题特定于此字段: 映射为: 该字段在XML中声明为令牌类型。 @XmlValue注释给我一个IllegalAnno

  • 问题内容: 当我需要使用LIKE%..%语句中的字段中的值时,我陷入了一个微妙的SQL问题。 例子: 这只是我脑海中的一个例子,显示了我需要做的事情(我知道这是行不通的)。我需要在LIKE%..%中使用t2.Name的值 我想这是微不足道的;) 问题答案: 使用:

  • 问题内容: 我在配置logstash以输出到AWS EC2上的Elasticsearch集群时遇到麻烦。 我正在使用Logstash版本1.1.5和Elasticsearch 1.19.8。 这是我在logstash中的输出配置: 这是elasticsearch.yml中的相应配置 我使用以下命令启动logstash: 在启动一段时间后,出现以下故障: 我的怀疑是,logstash需要使用诸如cl

  • 问题内容: 如何使用Logstash将数据从Elasticsearch导出到CSV?我只需要包括特定的列。 问题答案: 安装2个插件:elasticsearch输入插件和csv输出插件。然后创建一个配置文件。这是这种情况的一个很好的例子。 您现在就可以开始了,只需运行: 并检查中指定的文件。