我正在尝试使用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();
}
}
答案 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. . .
因此您不需要任何额外的工具来删除索引内容。 。