其实我用的delete(Term term) 方法更多,不需要找到docNum,但是两个方法的确都只是做删除标记的
因为整理的速度比较慢。更新也是只能先删除再添加
我一般是在这样操作次数达到一个值时(如100次),我就使用IndexWriter打开一个(boolean create == false啊,不然就空了)然后调用 optimize() 就可以了

解决方案 »

  1.   

    多谢 ChDw(米)提醒了,我用optimize() 清空了好几回.
      

  2.   

    英雄,且留步!IndexReader.delete(new Term("field","爬"));能把所有包含"爬"的索引删除.
    但包含两个字以上IndexReader.delete(new Term("field","爬山"));却没有效果,难道这是因为lucene对中文支持不好?请问这种问题如何解决.
      

  3.   

    这个我没有怎么用过,通常我都只是删除一个记录的。是不是你的Lucene的版本太低,我觉得只有在1.4再之后的的版本支持比较好,原来的都比较多问题