首页 > 解决方案 > Elasticsearch:为每个用户的私人搜索选择索引策略

问题描述

例如,我有 1000 个用户。每个用户的数据不大,最大1GB。所以我有两种索引策略。

我的意见是第二种方法要快得多,因为我们不需要添加user_id到查询中。第一种方法可能会更慢,因为它会去很多分片,同时它必须计入user_id查询。

但是,有一些ref1 ref2他们建议我们应该保持分片的总数相对较小。

在实际环境中,我的情况有什么好的解决方案?

标签: performanceelasticsearchshardingelasticsearch-indices

解决方案


为每个用户创建一个索引是一种资源浪费,特别是如果您有 1000 多个用户。如果您的应用程序成功并且您的用户群增长,那么索引数量和分片数量也会随之增加。即使每个索引只有一个分片,拥有 1000 个分片也已经消耗了相当多的资源。

拥有一个索引并使用一个user_id字段将所有用户放入其中以区分每个用户的数据会更有效。


推荐阅读