lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Bygrave <robin.bygr...@gmail.com>
Subject Bug in v3.3.0? - IndexNotFoundException: no segments* file found in org.apache.lucene.store.SimpleFSDirectory@
Date Fri, 08 Jul 2011 03:04:50 GMT
This looks like a Bug in v3.3.0.

The code below works in 3.0.1 without calling the writer.commit() before
 IndexReader.open(directory).

In v3.3.0 when the index does not yet exist I need to add the
writer.commit() and I believe that creates the segments. If I don't add the
writer.commit() then I get the IndexNotFoundException: no segments* file
found exception below.


            IndexWriterConfig config = new
IndexWriterConfig(Version.LUCENE_33, analyzer);
            config.setOpenMode(OpenMode.CREATE_OR_APPEND);
            config.setIndexDeletionPolicy(commitDeletionPolicy);
            IndexWriter writer = new IndexWriter(directory, config);

            // -----------------
            // Need to add this w.commit() when the index is does not exist
            writer.commit();
            // -----------------

            // without the commit above this fails with
a IndexNotFoundException when the index does not exist
            IndexReader reader = IndexReader.open(directory);



The exception when writer.commit() is not there and the index does not exist
is:

Caused by: org.apache.lucene.index.IndexNotFoundException: no segments* file
found in org.apache.lucene.store.SimpleFSDirectory@C:\dev\workspace-sts\uoa-tmp-copydb\lucene\dst\model.indexdefn.OrgUnitIndexDefn
lockFactory=org.apache.lucene.store.NativeFSLockFactory@3bc257: files:
[write.lock]
at
org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:708)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:428)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:274)


The workaround is to add the writer.commit() and that seems pretty
reasonable to me.

Thanks, Rob.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message