在每次调用中重复使用或创建Analyzer、IndexSearcher、IndexWriter更好吗

本文关键字:Analyzer 创建 IndexSearcher IndexWriter 更好 调用 | 更新日期: 2023-09-27 18:01:13

我是Lucene.net的新手,正在尝试从这里调整搜索代码,这实际上在每个方法中创建了一个新的AnalyzerIndexSearcherIndexWriter对象,并且只有FSDirectory对象被重用。

问题:这里有推荐的重用这些对象的最佳实践吗?

Lucene的先前结果。网络优化是从多年前,和个人经验的朗讯。Net库已经发生了变化:如果不更改代码,下载示例并使用3.0.3进行编译是不可行的。

在每次调用中重复使用或创建Analyzer、IndexSearcher、IndexWriter更好吗

来自官方wiki的最佳实践如何?

在我们的项目中,我们重用Analyzer,并将其与预定义的Version一起注入IndexWriterIndexReader。建议Analyzer在索引和搜索时相同,因此至少该模式适用于它

由于后两个是用于实际Lucene索引访问的包装器,因此每次使用它们时都需要实例化索引流,并且重用它们几乎没有意义,因为它们会阻止并发调用(reads和writes(。

这个项目中有一些"最佳实践"和模式可以供您利用。