Hello,

we've been using Lucene here with great success in different
projects. 

In one project we've a system which incrementally updates
an index every night. This has been working fine. We've 
upgraded to Lucene 1.4.2 when it was there without observing a 
difference instantly. But now we regularly run into trouble.
It seems like our index has "captured" a very defunc document
and as long as you work around this document the index
is still working, but as soon as you touch that particular
document, you run into trouble:

        java.lang.IndexOutOfBoundsException: Index: 114, Size: 19
at java.util.ArrayList.RangeCheck       (ArrayList.java:547)    at
java.util.ArrayList.get(ArrayList.java:322)     at
org.apache.lucene.index.FieldInfos.fieldInfo(FieldInfos.java:155)
at      org.apache.lucene.index.FieldsReader.doc(FieldsReader.java:66)
at
org.apache.lucene.index.SegmentReader.document(SegmentReader.java:237)
at
org.apache.lucene.index.SegmentMerger.mergeFields(SegmentMerger.java:185
)       at
org.apache.lucene.index.SegmentMerger.merge(SegmentMerger.java:92)
at
org.apache.lucene.index.IndexWriter.mergeSegments(IndexWriter.java:487)
at
org.apache.lucene.index.IndexWriter.optimize(IndexWriter.java:366) 

We can also create this by calling the indexReader.document() function
directly
with the right document number. It seems as the whole index is only
containing
only one such document.

The questions remains, how can one "achieve" to insert such a defunc
document 
in an index, or more interesting how can that be avoided in the future?
Note 
that we rely on that "update" and do not rebuild strategy at least on
most 
of the days!

Best wishes,
Frank

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to