弹性搜索文档存储

巴里

我们试图解决的基本用例是使用户能够从日志文件的内容中进行搜索。

假设有一个简单的情况,用户搜索关键字,并且该关键字出现在日志文件中,我想将其呈现给用户。

我们计划使用ElasticSearch处理此问题。我想到的想法是使用弹性搜索作为存储索引日志文件的机制。

考虑到这个概念,我浏览了https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

我有几个问题,1)我知道提供给弹性搜索的输入是JSON文档。它将扫描提供的此JSON并创建/更新索引。因此,我需要一种将输入日志文件转换为JSON的机制?

2)弹性搜索将扫描此输入文档并创建/更新反向索引。这些反向索引实际上指向确切的文档。这是否意味着ES会将这些文档存储在某个地方?会将它们存储为JSON文档吗?它是纯粹在内存中还是在文件系统/数据库中?

3)否,当用户搜索关键字时,ES返回包含搜索关键字的文档。现在,我是否需要能够将此JSON文档转换回用户期望的原始日志文档?

显然我错过了一些东西。很抱歉提出这个问题,但是我正在努力提高自己的技能及其在制品。

另外,我知道那里还有ELK堆栈。由于某些原因,我们只想使用ES,而不是堆栈的LogStash和Kibana部分。

谢谢

或温伯格
  1. 需要先将日志解析为JSON,然后才能将其插入Elasticsearch
  2. 所有文档都存储在文件系统上,一些数据保留在内存中,但是所有数据都是持久性的。
  3. 当您搜索Elasticsearch时,您会返回匹配的JSON文档。如果要显示原始错误消息,可以将该原始消息存储在JSON字段之一中并仅显示该消息。

因此,如果您只想存储日志消息而不希望将其分成字段或其他任何内容,则可以简单地将每一行发送给Elasticsearch,如下所示:

{ "message": "This is my log message" }

要解析日志,将其分成多个字段并添加一些逻辑,您将需要使用某种应用程序,例如Logstash。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章