我在基于 Web 的应用程序中使用 Lucene 搜索 API。Lucene 的 IndexSearcher 类的哪个方法推荐使用?有没有比其他方法更快的方法?
1.IndexSearcher(目录目录) 2.IndexSearcher(IndexReader r) 3.IndexSearcher(字符串路径)
谢谢阅读。
我在基于 Web 的应用程序中使用 Lucene 搜索 API。Lucene 的 IndexSearcher 类的哪个方法推荐使用?有没有比其他方法更快的方法?
1.IndexSearcher(目录目录) 2.IndexSearcher(IndexReader r) 3.IndexSearcher(字符串路径)
谢谢阅读。
内部接受目录和索引路径的构造函数使用接受 IndexReader 的构造函数。因此,没有一个比其他的性能优势。请记住,如果您使用 IndexReader 创建搜索器,则必须在关闭搜索器后显式关闭阅读器。
一切都是为了方便。
如果您只想创建一个IndexSearcher
,请使用接受路径的那个。
如果您已经有一个Directory
对象,请使用接受 a的对象Directory
。
如果你有一个IndexReader
......你明白了。请记住,如果您提供了IndexReader
,则需要在关闭 后自己关闭它IndexSearcher
。
我强烈建议获取 Lucene源代码的副本。它的可读性很强,可以回答很多这样的问题。