1

我有一个多用户系统。每个用户都创建可索引的内容,但每个用户只能搜索您自己的内容。

有什么更好的办法?

  1. 创建单个目录索引,索引其中的所有内容,然后在搜索时进行过滤。
  2. 为每个客户端创建目录索引并显示所有结果
4

1 回答 1

2

如果不需要在用户内容之间共享数据,我会选择第二种选择。过滤会增加开销,并且搜索可能需要更长的时间,因为语料库会更大。更不用说可伸缩性问题、不必要的 GC 开销等。

缺点是您可能无法从字段缓存中受益,因为您每次都必须为每个用户打开/关闭索引。但是,如果您可以确定哪些用户仍然活跃并保持他们的读者开放,则可以缓解这种情况。

Sotirios Delimanolis 提出了一个观点,即 1000 万个目录可能很难管理。这是有效的一点 - 单个目录中的许多文件/目录在大多数文件系统中都无法扩展。但是您总是可以分配这些目录,使它们形成一个很好的平衡树

于 2013-05-23T10:13:28.243 回答