4

我是一个 Lucene.net 新手,并试图从这里调整搜索代码,这基本上会在每个方法中创建一个新的Analyzer,IndexSearcherIndexWriter对象,并且只有 FSDirectory 对象被重用。

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

Lucene.Net 优化的先前结果是多年前的结果,根据个人经验,Lucene.Net 库已经改变:下载示例并使用 3.0.3 编译它们在不更改代码的情况下无法正常工作。

4

2 回答 2

3

来自官方 wiki 的BestPractices怎么样?

于 2013-02-27T04:31:24.683 回答
1

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

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

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

于 2013-03-03T20:14:00.283 回答