I don't know what cause that error which not occur every time but when index is quite big. I create new index, and in loop add new object to index (not search, update, etc). Error occur after about 150 000 objects are added to index. Every time number of object is different but very big.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at org.apache.lucene.index.TermInfosReader.seekEnum(TermInfosReader.java:193)
at org.apache.lucene.index.TermInfosReader.get(TermInfosReader.java:216)
at org.apache.lucene.index.SegmentTermDocs.seek(SegmentTermDocs.java:54)
at org.apache.lucene.index.MultiSegmentReader$MultiTermDocs.termDocs(MultiSegmentReader.java:604)
at org.apache.lucene.index.MultiSegmentReader$MultiTermDocs.next(MultiSegmentReader.java:555)
at org.compass.core.lucene.engine.transaction.readcommitted.ReadCommittedTransaction.doDelete(ReadCommittedTransaction.java:318)
at org.compass.core.lucene.engine.transaction.AbstractTransaction.doUpdate(AbstractTransaction.java:194)
at org.compass.core.lucene.engine.transaction.AbstractTransaction.update(AbstractTransaction.java:190)
at org.compass.core.lucene.engine.LuceneSearchEngine.createOrUpdate(LuceneSearchEngine.java:278)
at org.compass.core.lucene.engine.LuceneSearchEngine.save(LuceneSearchEngine.java:256)
at org.compass.core.impl.DefaultCompassSession.save(DefaultCompassSession.java:392)
at com.consol.cmx.consol.simplesearch.compass.CompassService$1.doInCompass(CompassService.java:70)
at org.compass.core.CompassTemplate.execute(CompassTemplate.java:130)
at org.compass.core.CompassTemplate.execute(CompassTemplate.java:112)
Configuration:
<compass-core-config>
<compass name="simple-search">
<connection>
<file path="index"/>
</connection>
<transaction lockTimeout="60" isolation="read_committed"/>
<searchEngine>
<analyzer name="default" type="CustomAnalyzer"
analyzerClass="com.consol.cmx.consol.simplesearch.compass.WildcardAnalyzer"/>
<analyzer name="search" type="Whitespace"/>
</searchEngine>
<mappings>
<class name="com.consol.cm.data.vo.simplesearch.CmCallVO"/>
</mappings>
</compass>
</compass-core-config>