目前,我正在为我的Lucene查询编写单元测试。为此,我创建了一个包含虚拟数据的测试数据库。对于每个测试,我都会重新创建数据库,因此每个测试都是使用“新”数据启动的。通常我只是把我的hbm
要创建的ddl属性(如下所示)

<property name="hibernate.hbm2ddl.auto">update</property>


但是我注意到这并不能清除Lucene索引。有人知道我如何确保每个测试都在新创建的索引上运行?我的临时解决方案是在每次测试之前运行一个脚本,该脚本将简单地删除索引文件夹。但是由于这些文件夹位于文件系统上的某个位置,所以我希望对此有更通用/标准的方法...有什么想法吗?

最佳答案

您可以通过设置create = true来创建新的IndexWriter。这将覆盖现有索引。

关于java - 重置或清除Lucene索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13686497/

10-09 17:22