Luceneを使用している私のインデクサーは、サイズが約16GBのインデックスファイルを書き込んだ後、インデックス作成操作中にクラッシュするようです。
コンソールに書き込まれたスタックトレースは、私にはわからない理由で3回繰り返されます。簡潔にするために、繰り返される単一の部分のみを提供しました。Luceneによってconolseに書き込まれたスタックトレースは次のとおりです。
Lucene.Net.Index.MergePolicy+MergeException: Exception of type 'Lucene.Net.Index.MergePolicy+MergeException' was thrown. --->
System.IO.FileNotFoundException: Could not find file 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'.
File name: 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'
at Lucene.Net.Index.IndexWriter.HandleMergeException(Exception t, OneMerge merge)
at Lucene.Net.Index.IndexWriter.Merge(OneMerge merge)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
--- End of inner exception stack trace ---
at Lucene.Net.Index.ConcurrentMergeScheduler.HandleMergeException(Exception exc)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
生成されたログをLukeのJavaエディションで開くと、インデックスが削除されます(おそらく、破損しているため、「write.lock」ファイルが残ります)。ただし、これはLukeのバグまたは設定ミスである可能性があります。
このインデックスの作成には約36時間かかりますが、3回目に再度作成する必要はありません(これは初めてではありません)。
何が原因なのかわかりません。私に何ができる?
Lucene.net 2.9.2を使用しているのは、これが.NET3.5用に構築された最後のバージョンだからです。