I figured it out...but the answer leads to a new question. The problem was that I was using this constructor: IndexWriter(Directory d, Analyzer a, boolean create, IndexWriter.MaxFieldLength mfl)
I passed in false for create, and if there is no index yet, it fails as I described. As soon as I pass true for create, the problem goes away. I guess that makes sense; if you pass false, it expects to find an index there. However, if I pass true, I'll overwrite my existing index (that's what the javadocs say, and I've found it to be true, generally, although not always...I can't explain the difference). I don't want to overwrite my index every time I start up, but I don't want to be able to start up with a new, clean index dir. What do I do? jchang wrote: > > > When I try to start my service and construct an IndexWriter, I get this: > > java.io.FileNotFoundException: no segments* file found in > org.apache.lucene.store.NIOFSDirectory@/home/jchang/IdeaProjects/index-service_trunk/target/testindexA/index/indexablemaildata: > files: [write.lock] > > It is odd. The problem is not that it is complaining about a lock file. > There is none there. It seems to be complaining that there is NOT a lock > file. Why? The directory is brand new - nothing is it it at all - not > write.lock file is there. > -- View this message in context: http://old.nabble.com/Can%27t-start-Lucene-App%3A-java.io.FileNotFoundException-with-brand-new-directory-tp27292118p27292176.html Sent from the Lucene - Java Users mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org