如何在lucene中使用term删除文档

时间:2010-10-25 08:50:41

标签: java lucene

我正在尝试使用lucene索引中的术语删除文档。但我下面的代码不起作用。有什么建议我怎样才能在lucene索引中执行删除功能?

public class DocumentDelete {
public static void main(String[] args) {
File indexDir = new File("C:/Users/Raden/Documents/lucene/LuceneHibernate/adi");
Term term = new Term(FIELD_PATH, "compatible");
Directory directory = FSDirectory.getDirectory(indexDir);
IndexReader indexReader = IndexReader.open(directory);
indexReader.deleteDocuments(term);
indexReader.close();        
}
}

1 个答案:

答案 0 :(得分:2)

IndexReader indexReader = IndexReader.open(directory); // this one uses default readonly mode

改为使用:

IndexReader indexReader = IndexReader.open(directory, false); // this will open the index in edit mode and you can delete the index. . . 

因此您不需要任何额外的工具来删除索引内容。 。