2012-12-03 56 views
0

目前我正在为我的lucene查询编写单元测试的过程。因此,我创建了一个包含虚拟数据的测试数据库。对于每次测试,我重新创建我的数据库,因此每个测试都使用“新鲜”数据开始。通常我只是把我的HBM DDL属性创建(如下图所示)重置或清除Lucene索引

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

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

回答

3

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

+0

Thx,是否可以在hibernate.cfg.xml中定义和配置IndexWriter? – bvanvelsen

+1

检查本文档中的第3.6部分:http://tinyurl.com/c6yloaj。希望它会有所帮助。 –