Lucene IndexWriter AlreadySet 异常
Lucene IndexWriter AlreadySet Exception
我正在尝试创建一个 IndexWriter 并写入 Lucene 索引。这是我的代码:
public class Indexer {
public static Analyzer _analyzer = new StandardAnalyzer(Lucene.Net.Util.LuceneVersion.LUCENE_48);
private void WriteToIndex() {
var config = new IndexWriterConfig(Lucene.Net.Util.LuceneVersion.LUCENE_48, _analyzer).SetUseCompoundFile(false);
using (IndexWriter indexWriter = new IndexWriter(LuceneDirectory, config)) <-- This throws an error!
{
// ....
}
}
}
但是我在尝试创建 IndexWriter 时总是遇到异常:
Exception thrown: 'Lucene.Net.Util.SetOnce`1.AlreadySetException' in Lucene.Net.dll
Additional information: The object cannot be set twice!
我做错了什么?代码编译完美。我正在使用 Lucene.NET,但我猜它也应该适用于 Java。
您收到此异常是因为您正在重复使用 IndexWriterConfig
,它不打算在 IndexWriter
个实例之间共享。而是生成一个新的 IndexWriterConfig,它应该可以正常工作。
我正在尝试创建一个 IndexWriter 并写入 Lucene 索引。这是我的代码:
public class Indexer {
public static Analyzer _analyzer = new StandardAnalyzer(Lucene.Net.Util.LuceneVersion.LUCENE_48);
private void WriteToIndex() {
var config = new IndexWriterConfig(Lucene.Net.Util.LuceneVersion.LUCENE_48, _analyzer).SetUseCompoundFile(false);
using (IndexWriter indexWriter = new IndexWriter(LuceneDirectory, config)) <-- This throws an error!
{
// ....
}
}
}
但是我在尝试创建 IndexWriter 时总是遇到异常:
Exception thrown: 'Lucene.Net.Util.SetOnce`1.AlreadySetException' in Lucene.Net.dll
Additional information: The object cannot be set twice!
我做错了什么?代码编译完美。我正在使用 Lucene.NET,但我猜它也应该适用于 Java。
您收到此异常是因为您正在重复使用 IndexWriterConfig
,它不打算在 IndexWriter
个实例之间共享。而是生成一个新的 IndexWriterConfig,它应该可以正常工作。