Я получаю java.io.EOFException при чтении двоичного блока из индекса lucene. Я сохраняю java-объект в качестве байтового массива в поле индекса lucene и читаю его, когда происходит сбой.Ошибка Lucene при чтении двоичного блока: java.io.EOFException
Вот трассировки стека:
Вызванный: java.io.EOFException в java.io.ObjectInputStream $ PeekInputStream.readFully (ObjectInputStream.java:2281) в java.io.ObjectInputStream $ BlockDataInputStream.readShort (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)
У меня есть некоторый backgr ound, которые записываются в индекс. Но я их буферизую, а затем пишу их сразу, как 1000. Иногда я также выдаю optimize() для индекса. Когда я пишу, я снова открываю IndexReader. Это происходит из-за повторного открытия вызова IndexReader?
Спасибо.
С уважением Tushar
Просьба указать некоторые детали фона. Lucene планируется для хранения документов и получения их в соответствии с текстовыми запросами. Кажется, ты что-то делаешь. Кроме того, вы используете терракоту - это распределенный индекс? Это может быть очень значительным. Не могли бы вы указать, как вы построили индекс и как выглядит запрос? –