Hello,
I have a problem with this code (updating a lucene index by delete and
adding documents):
IndexReader reader = IndexReader.open(directory);
while (i.hasNext()) {
reader.deleteDocuments(i.next());
}
reader.close();
...
IndexWriter writer = new IndexWriter(directory,
new GermanAnalyzer(), create);
while (i2.hasNext()) {
writer.addDocument(i2.next());
}
By creating the IndexWriter I became this exception on Linux (ubuntu
dapper):
java.io.IOException: Lock obtain timed out: Lock@/home/picard/develop/
apache-tomcat-6.0.14/temp/lucene-1763c549e0e952256392217dac3f3bdb-
write.lock
at org.apache.lucene.store.Lock.obtain(Lock.java:56)
at
org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:254)
at
org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:244)
at
de.gesichterparty.DatabaseManager.processQueue(DatabaseManager.java:345)
at de.gesichterparty.LuceneServlet.run(LuceneServlet.java:140)
at java.lang.Thread.run(Thread.java:595)
java.io.FileNotFoundException: /home/picard/develop/apache-
tomcat-6.0.14/webapps/Lucene/WEB-INF/databases/user/segments (No such
file or directory)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at org.apache.lucene.store.FSIndexInput
$Descriptor.<init>(FSDirectory.java:430)
at
org.apache.lucene.store.FSIndexInput.<init>(FSDirectory.java:439)
at
org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:329)
at
org.apache.lucene.index.SegmentInfos.read(SegmentInfos.java:45)
at org.apache.lucene.index.IndexReader
$1.doBody(IndexReader.java:146)
at org.apache.lucene.store.Lock$With.run(Lock.java:99)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:
141)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:
136)
at
org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:47)
at
de.gesichterparty.DatabaseManager.processQueue(DatabaseManager.java:374)
at de.gesichterparty.LuceneServlet.run(LuceneServlet.java:140)
at java.lang.Thread.run(Thread.java:595)
On Mac OS X Leopard this code works fine.
Thanks
Kevin