luceneインデックスからバイナリブロックを読み込み中にjava.io.EOFExceptionが発生しました。私は、luceneインデックスフィールドにバイト配列としてjavaオブジェクトを格納していて、ヒットしたときにそれを読み取っています。 java.io.ObjectInputStream $ BlockDataInputStream.readShortでjava.io.ObjectInputStream $ PeekInputStream.readFully(ObjectInputStream.java:2281)でjava.io.EOFException :バイナリブロックの読み込み中にLuceneエラーが発生しました:java.io.EOFException
によって引き起こさ:ここ
は、スタックトレースです(ObjectInputStream.java:2750) at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:780) at java.io.ObjectInputStream(ObjectInputStream.java:280) at org.terracotta.modules.searchable.util。 SerializationUtil $ OIS。(SerializationUtil.java:20)私はバックグラウンドを持っています索引に書き込むスレッド。しかし、私はそれらをバッファリングし、1000のように一度に書きます。インデックス上でoptimize()を発行することもあります。私が書くとき、私はIndexReaderを再開しています。これは、IndexReaderの再開呼び出しのために起こっていますか?
ありがとうございました。
よろしく Tushar
背景の詳細をご記入ください。 Luceneは、ドキュメントを格納し、テキストクエリに従ってそれらを取得するために計画されています。あなたは何か他のことをしているようです。また、テラコッタを使用します - これは分散インデックスですか?これは非常に重要です。インデックスの作成方法とクエリの外観を指定してください。 –