在2.0版本中,lucene修改索引不再推荐使用IndexModifier类,而是使用IndexWriter。具体的使用在文档中有详细的介绍。
以deleteDocuments为例,有如下两个函数
public void deleteDocuments(Term term)
throws CorruptIndexException,
IOException
public void deleteDocuments(Term[] terms)
throws CorruptIndexException,
IOException
更新索引时有一些需要注意的问题,如下:
1) 索引的同步,即不能同时存在多个IndexWriter。
2) 索引更新后,构建新的IndexSearcher访问索引的最新内容。旧的IndexSearcher不能访问到新添加的结果。
3) optimize可以对索引进行重新排序。