lucene文件的可读性验证

一个lucene文件下会包含很多小文件,如果其中任何一个文件损坏或丢失,都会导致该lucene文件不可读,lucene在CheckIndex类中提供接口检测lucene文件是否可读。

public static void main(String[] args) {
		String location = "C:/Documents and Settings/Administrator/桌面/luceneFile";
	
				File file = new File(location);
				Directory dir;
				try {
					dir = FSDirectory.open(file);
					CheckIndex checkindex = new CheckIndex(dir);
					boolean clean = checkindex.checkIndex().clean;
					dir.close();
					System.out.println(clean);
				} catch (IOException e) {
					e.printStackTrace();
				}<pre name="code" class="java">}

 

此时clean为true,如果删除lucene文件中的一个子文件,clean为false。但是,如果删除文件名为segments.gen的文件,执行检测后,clean仍为true。这可能是lucene文件类型的问题,即使segments.gen文件丢失,依然不会影响lucene文件的正常读写。真正原因有待研究。

如果在linux下,将lucene文件的权限设置为000,“chmod -R 000 luceneFile ”   ,接口检测依然会返回true。(窃以为如果lucene文件没有读权限,是不应该认为文件完好的,即应该返回false。这是lucene的问题,以后会不会变还不确定)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值