Lucene搜索错误堆栈

Lucene搜索错误堆栈,lucene,Lucene,在尝试使用Lucene进行搜索时,我看到以下错误。(版本1.4.3)。关于我为什么会看到这种情况以及如何解决它,有什么想法吗 Caused by: java.io.IOException: read past EOF at org.apache.lucene.store.InputStream.refill(InputStream.java:154) at org.apache.lucene.store.InputStream.readByte(InputStream.java:

在尝试使用Lucene进行搜索时,我看到以下错误。(版本1.4.3)。关于我为什么会看到这种情况以及如何解决它,有什么想法吗

Caused by: java.io.IOException: read past EOF
    at org.apache.lucene.store.InputStream.refill(InputStream.java:154)
    at org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
    at org.apache.lucene.store.InputStream.readVInt(InputStream.java:83)
    at org.apache.lucene.index.FieldInfos.read(FieldInfos.java:195)
    at org.apache.lucene.index.FieldInfos.<init>(FieldInfos.java:55)
    at org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:109)
    at org.apache.lucene.index.SegmentReader.<init>(SegmentReader.java:89)
    at org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:118)
    at org.apache.lucene.store.Lock$With.run(Lock.java:109)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:111)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:106)
    at org.apache.lucene.search.IndexSearcher.<init>(IndexSearcher.java:43)
原因:java.io.IOException:读取超过EOF
位于org.apache.lucene.store.InputStream.refill(InputStream.java:154)
位于org.apache.lucene.store.InputStream.readByte(InputStream.java:43)
位于org.apache.lucene.store.InputStream.readVInt(InputStream.java:83)
位于org.apache.lucene.index.FieldInfos.read(FieldInfos.java:195)
位于org.apache.lucene.index.FieldInfos(FieldInfos.java:55)
位于org.apache.lucene.index.SegmentReader.initialize(SegmentReader.java:109)
位于org.apache.lucene.index.SegmentReader。(SegmentReader.java:89)
位于org.apache.lucene.index.IndexReader$1.doBody(IndexReader.java:118)
位于org.apache.lucene.store.Lock$With.run(Lock.java:109)
位于org.apache.lucene.index.IndexReader.open(IndexReader.java:111)
位于org.apache.lucene.index.IndexReader.open(IndexReader.java:106)
在org.apache.lucene.search.indexsearch上(indexsearch.java:43)
在相同的环境中,我还看到以下错误:

Caused by: java.io.IOException: Lock obtain timed out:
Lock@/tmp/lucene-3ec31395c8e06a56e2939f1fdda16c67-write.lock
    at org.apache.lucene.store.Lock.obtain(Lock.java:58)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:223)
    at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:213)
原因:java.io.IOException:锁定获取超时:
Lock@/tmp/lucene-3ec31395c8e06a56e2939f1fdda16c67-write.Lock
在org.apache.lucene.store.Lock.get(Lock.java:58)上
位于org.apache.lucene.index.IndexWriter(IndexWriter.java:223)
位于org.apache.lucene.index.IndexWriter(IndexWriter.java:213)

相同的代码可以在测试环境中工作,但不能在生产环境中工作。无法识别这两个环境之间的任何明显差异。

文件权限错误(需要写入权限),或者您无法访问当前进程所需的锁定文件