ruby-on-rails - 最小化 json 文档大小会提高 Elasticsearch 的性能吗?

标签 ruby-on-rails elasticsearch

我正在认真考虑使用 Elasticsearch 作为我的主要数据库。唯一阻碍我的是了解 json 文档大小是否会减慢 Elasticsearch 。例如,如果我用 100 个字段而不是我需要搜索的 3 个字段来索引 json 文档(然后在我的 sql 数据库中查询其他数据), Elasticsearch 会不会更慢?

是否有理由不使用 Elasticsearch 作为我的主要数据存储?我将在传统数据库中保留一个备份,以便重建索引,但我的计划主要是查询 Elasticsearch 。这听起来是个好主意吗?

最佳答案

为您的 JSON 文档中的所有字段编制索引不会降低 Elasticsearch 的速度,但会使您的索引更大。因此,如果磁盘空间或 RAM 有限,那么您可能只想索引 3 个相关字段。

您仍然可以将整个文档存储在 Elasticsearch 中(并将 _source 字段设置为压缩),但通过将它们设置为“index”:“no”来禁用不相关字段的索引。

但是,如果容量不是问题,那么为什么不让 Elasticsearch 自行其是呢?您可能会发现还有其他您没有考虑过的相关领域,并且您经常会最终使用 ES 来执行您的数据库通常会处理的查询,因为 (a) 它太快了并且 (b) 它内置易于缩放。

关于ruby-on-rails - 最小化 json 文档大小会提高 Elasticsearch 的性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6771959/

相关文章:

elasticsearch - 我们可以在Elasticsearch中自定义时间戳吗

ruby-on-rails - 从 Rails 3.1 引擎访问模型

ruby-on-rails - npm 错误 : tunneling socket could not be established, 原因=连接 ETIMEDOUT

ruby-on-rails - Tire/ElasticSearch 单表继承支持

ruby-on-rails - 当切换到Rails文件夹时,rvm是否选择ruby和gemset?

elasticsearch - 休眠搜索和Elasticsearch:找不到字段[…]的mapper_parsing_exception +分析器[…]

ruby-on-rails - 如何设置acts_as_follower

elasticsearch - 如何在搜索查询中列出索引中具有至少1个值的所有字段

elasticsearch - 数组上的术语聚合

lucene - Post过滤器查询中的功能得分。(elasticsearch)