gpt4 book ai didi

elasticsearch - Elasticsearch 文档存储

转载 作者:行者123 更新时间:2023-12-03 01:56:10 26 4
gpt4 key购买 nike

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

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

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

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

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

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

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

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

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

谢谢

最佳答案

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

  • 因此,如果您只想存储日志消息,而不是将其分成字段或任何内容,则可以简单地将每一行发送给Elasticsearch,如下所示:
    { "message": "This is my log message" }

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

    关于elasticsearch - Elasticsearch 文档存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538792/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com