优化Lucene索引文件的数量



我使用Lucene从我的数据库索引记录。我的"文档"表中有一百万条记录。只有特定的用户才能访问这些记录。一个真实的场景是单个用户最多可以访问Documents表中的100条记录。以下哪项是此场景的最佳实践?

  1. 将Documents表中的所有100万条记录索引为单个索引文件,并将用户信息作为该索引中的一个字段或
  2. 创建用户特定索引

听起来你在第二种情况下会有很多索引,如果你想同时搜索它们,Lucene将不得不保持很多文件打开,所以你可能很容易达到操作系统对打开文件数量的限制。如果您决定按需打开/关闭它们,那么您可能无法从缓存中获益,并且由于冷索引,您的搜索可能会很慢(或者您预热它们,但是您可能会有大量的开销处理)。我选择第一种方法,Lucene可以在一个索引中处理1M个文档。

最新更新