【问题标题】:What is the best way to store big data and create instant search with ES?使用 ES 存储大数据和创建即时搜索的最佳方式是什么?
【发布时间】:2017-01-29 10:21:52
【问题描述】:

我正在从事一个每天将存储数百万数据的项目。所以我想将它存储在压缩结构中(仅可搜索字段并删除不需要的字段)以进行即时文本搜索的弹性搜索。但我希望存储未压缩的数据以供以后处理和分析。它应该有更快的写入速度和更便宜的存储数十亿数据。

【问题讨论】:

    标签: hadoop elasticsearch bigdata database


    【解决方案1】:

    Elasticsearch 允许您决定每个索引的存储位置(通过shard allocation)以及您希望使用哪种压缩方式(通过index codec)。

    因此,有了无限的资源和时间,您可以设计一个流程,将文档索引到每日索引中,例如,在一个 5 节点集群上,您将最后 7 天的数据保存在 3 台服务器上(我们称这些服务器为快速服务器)并且任何比这更早的内容都将保留在 2 个较慢的服务器上,这样过去 7 天的查询将运行得更快,而对时间不敏感的作业可以在存储在较慢服务器上的旧索引上运行。

    较快的服务器可能具有更强的计算能力和更快的 SSD 磁盘,而较慢的服务器将具有正常的旋转磁盘。

    关于压缩,Elasticsearch 压缩适用于 _source 数据,因此压缩不应该影响聚合速度,还需要注意的是,如果您更改索引压缩,它将仅适用于新/更新的文档,并且不会在文档上追溯运行您过去已编入索引。

    【讨论】:

    • 但是您仍然没有告诉内容的主要存储。我只使用弹性搜索来搜索文本。所以我会添加唯一可搜索的内容,主要内容需要存储在某个地方,它应该不会花费太多。但它应该可以检索以进行进一步的处理和分析。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 2011-08-09
    • 2010-10-17
    • 2021-12-05
    • 1970-01-01
    • 2012-01-19
    相关资源
    最近更新 更多