1

クラスのオブジェクトを作成しようとすると、new IndexSearcher(fsDir)がスローされIOException read past EOFます。検索インデックスはRAMベースではなく、NFSベース(FSDirectoryluceneクラスを使用)です。

私はグーグルでこれを手に入れまし

許可の問題はなく、ロックもされていません。lockhunterに確認しました

したがって、書き込み権限が必要であり、そのディレクトリを使用しているものはありません。

過去2〜3か月間機能していました。昨日突然動作を停止し、フォルダ内のすべてのインデックスファイル。

この例外の原因は他に何がありますか?インデックスが2〜3か月(ある期間)経過すると、期限切れになり、この例外が発生するようなものはありますか?

4

2 に答える 2

6

私は答えを得て、それに多くの時間を費やしました、それはその例外を与えます(IOExceptionはEOFを過ぎて読みました):

If Directory does not give write permission
If someone else is using(locked)
If some segment is corrupted

私の場合、それは壊れていました:(。しかし、例外はこれについて何も言いません(いくつかを言うことができますFIleCurroptedException)。これは他の誰かに役立つかもしれません。

于 2012-10-03T01:58:25.750 に答える
0

これを取得するたびに、同じ名前の2つのインデックスファイル(レコード)がありました(キー-私はmongo-luceneを使用しています)。空のバッファを持つレコードの1つを削除したので、インデックス全体を再構築せずに先に進むことができました。これはマルチスレッドの問題のようです。別のトリガーは、非テキストファイルのインデックス作成であるようです

于 2016-01-13T08:10:56.073 に答える