当用户数量增加时,Lucene Indexing中的打开文件太多

我一直在为我的Web应用程序使用Lucene Indexing和搜索技术。 最初,我遇到了“太多的打开文件问题”,经过研究后我通过使用常见的IndexSearcher为单个用户修复了它。 然后,当我使用更多并发用户测试应用程序时,它再次开始带来“太多打开文件问题”。

我将IndexSearcher对象保留在特定用户的会话中,这始终保持一些文件打开(他们当前正在使用)。 即使有任何数量的用户,任何人都可以帮助解决这个问题吗?

如果我在上述解释中的任何地方都不清楚,请告诉我。

Lucene的FAQ有一个很好的条目 。

简而言之:

  • 检查所有Lucene IndexReader,IndexWriter和IndexSearcher是否已正确关闭
  • 尝试使用复合文件,这会限制创建的文件数
  • 增加操作系统上打开的文件句柄的限制

我刚才和Lucene有类似的问题,当你有很多并发用户时,很容易达到这个限制。 增加文件句柄限制工作完全正常。