例如,我有 1000 个用户。每个用户的数据不大,最大1GB。所以我有两种索引策略。
- 大索引:我将有一个单一的索引。然后每次用户搜索一些数据时,我都会
user_id
在查询中添加一个。 - 小型索引:每个用户都是一个 Elasticsearch 索引。因为数据并不庞大,我们只需要 1-2 个分片。
我的意见是第二种方法要快得多,因为我们不需要添加user_id
到查询中。第一种方法可能会更慢,因为它会去很多分片,同时它必须计入user_id
查询。
但是,有一些ref1 ref2他们建议我们应该保持分片的总数相对较小。
在实际环境中,我的情况有什么好的解决方案?