gpt4 book ai didi

amazon-web-services - ElasticSearch 的缩放

转载 作者:行者123 更新时间:2023-11-29 02:45:50 25 4
gpt4 key购买 nike

我正在搜索有关 ElasticSearch 如何随其索引中的数据量进行扩展的信息,但我很惊讶在该主题上找不到多少信息。也许这里人群的一些经验可以帮助我。

我们目前正在使用 CloudSearch 为约 700 万份文档编制索引;在 CloudSearch 中,这会产生 2 个类型为 m2.xlarge 的实例。我们正在考虑改用 ElasticSearch 来降低成本。但我在 ElasticSearch 的扩展性方面的所有发现是它的扩展性很好,可以分布在多个实例等上。

但是我需要什么样的机器(内存,光盘)来处理这种数据?

如果我将数据量增加 12 倍(≈ 8000 万份文档),情况会发生什么变化?

最佳答案

作为Javanna said , 这取决于。主要在于:(1)分度率; (2) 文件大小; (3) 搜索的速率和延迟要求; (4) 搜索类型。

考虑到这一点,我们能提供的最好帮助就是举例说明。在 our site (新闻监测)我们:

  1. 每分钟索引超过 100 个文档。目前,我们有近 5000 万份文件。我还听说过拥有数亿文档的 ES 索引。
  2. 文档是带有一些元数据的新闻文章,不短但也不大。
  3. 我们的搜索延迟从大约 50 毫秒(对于普通术语和稀有术语)到 800 毫秒(对于常用术语(停用词,我们为它们编制索引))不等。这种变化主要是由于我们的自定义评分(感谢 Lucene/ES 支持自定义它)以及数据集(倒排列表)不完全适合内存(OS 缓存)这一事实。因此,当它遇到缓存的倒排列表时,速度会更快。
  4. 我们使用很多术语进行OR 查询,这是最难的术语之一。我们还对两个单值字段进行分面。并对日期方面进行一些实验(以显示随时间变化的发布率)。

我们使用 4 个 EC2 的 m1.large 实例来完成所有这些工作。现在我们正计划转移到 ES, just released, 0.9 version获得 Lucene 4.0 的所有优点和性能改进。

现在把例子放在一边。 ElasticSearch 具有很好的可扩展性。很简单,用N个分片,M个副本创建一个索引,然后用ES创建X台机器。它将相应地分配所有分片和副本。您可以随时更改副本数(对于每个索引)。

一个缺点是您无法在索引创建后更改分片数量。但是您仍然可以预先“过度分片”它,以便在需要时为扩展留出空间。或者使用正确数量的分片创建一个新索引并重新索引所有内容(我们这样做)。

最后,ElasticSearch (以及 Solr )在幕后使用 Lucene 搜索库,这是一个非常成熟且众所周知的库。

关于amazon-web-services - ElasticSearch 的缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16299508/

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