Je reçois java.io.EOFException lors de la lecture d'un bloc binaire de l'index lucene. Je stocke l'objet java comme byte-array dans le champ d'index lucene et je le lis quand il y a un hit.Lucene Erreur lors de la lecture du bloc binaire: java.io.EOFException
Voici trace de pile:
Causée par: java.io.EOFException à java.io.ObjectInputStream $ PeekInputStream.readFully (ObjectInputStream.java:2281) à java.io.ObjectInputStream $ BlockDataInputStream.readShort (ObjectInputStream.java:2750) à java.io.ObjectInputStream.readStreamHeader (ObjectInputStream.java:780) à java.io.ObjectInputStream. (ObjectInputStream.java:280) à org.terracotta.modules.searchable.util. SerializationUtil $ OIS. (SerializationUtil.java:20)
J'ai de l'arrestation ound threads qui écrivent dans l'index. Mais je les tamponne et puis les écris immédiatement comme 1000. De temps en temps, j'émets aussi optimize() sur l'index. Quand j'écris, je réouvre IndexReader. Est-ce que cela se produit à cause de l'appel de réouverture d'IndexReader?
Merci.
Cordialement Tushar
Veuillez fournir quelques détails d'arrière-plan. Lucene est prévu pour stocker des documents et les récupérer en fonction des requêtes de texte. Vous semblez faire quelque chose d'autre. En outre, vous utilisez la terre cuite - est-ce un indice distribué? Cela peut être très important. Pourriez-vous préciser comment vous avez construit l'index et à quoi ressemble la requête? –