我正在认真考虑使用 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/