1

当我尝试创建一个new IndexSearcher(fsDir)类对象时,它正在抛出IOException read past EOF. 搜索索引不是基于 RAM,而是基于 NFS(使用FSDirectorylucene 类)。

我用谷歌搜索得到了这个

没有权限问题,也没有锁定,我用lockhunter检查过

所以必须有写权限,并且没有人使用该目录。

它在过去的2-3个月内工作。昨天突然停止工作,文件夹中的所有索引文件。

还有什么可能导致此异常?如果索引是 2-3 个月大(某个时期),那么它是否会过期并给出此异常?

4

2 回答 2

6

我得到了答案,花了很多时间在上面,它会给出那个异常(IOException 读取过去的 EOF):

If Directory does not give write permission
If someone else is using(locked)
If some segment is corrupted

对于我的情况,它已损坏:(。但是 Exception 对此没有说任何话(可以告诉一些FIleCurroptedException人)。这可能对其他人有所帮助。

于 2012-10-03T01:58:25.750 回答
0

每次我得到这个时,它都有两个同名的索引文件(记录)(键 - 我正在使用 mongo-lucene)。我删除了带有空缓冲区的记录之一,它让我无需重新构建整个索引即可继续前进。这似乎是一个多线程问题。另一个触发器似乎是索引非文本文件

于 2016-01-13T08:10:56.073 回答