请问 在 生成索引的过程中 程序突然中断 已经生产了一部分索引
如果我不想删除索引 想接着索引 该怎么处理

解决方案 »

  1.   

    我也出现了类似的问题。我用的compass,底层lucene报一个org.apache.lucene.store.LockObtainFailedException错误,意思可能是写入索引文件时,索引文件未解锁,java.IO拒绝写入。刚着手用这个框架开发搜索站内搜索引擎,了解得不深,我估计是事务处理不当。至今还未解决。有关中断后是否损坏索引文件,我是这样做的:session.create(obj);
    同时
    session.flush();这时每创建一个索引在session关闭前都将写入磁盘,而不是等待缓冲满后再写,否则一中断就会丢掉很多数据,且容易造成文件破坏。我的数据库里有30万条记录,原来想一次索引完成,谁知道经常出这个错误而中断。后来没撤,每次索引1万条。倘若在此1万条中被中断,通过CompassQuery的count()方法统计下索引库中现索引的数量,
    例如为328611条,则让程序跳过8611个再开始索引。
      

  2.   

    通过CompassQuery的count()方法能统计下出索引数量,应该就没坏。