我使用的是Hibernate Search,但我无法使用自动索引,所以我想知道是否有办法检查我的数据库中的文档是否已编入索引,以便编制索引只手动丢失文件。
答案 0 :(得分:0)
如果您想知道lucene索引中的文档是否已编入索引,请使用luke
答案 1 :(得分:0)
您可以在id
字段上运行查询,也可以选择使用投影来避免从数据库中加载实体。
如果您必须检查许多文档然后重新索引其中的许多文档,那么使用MassIndexer可能会更有效,并且只需重建所有索引。
fullTextSession.createIndexer().startAndWait();
MassIndexer使用有效的批处理策略,因此如果N是数据库大小的一半,它可能比N index()
操作快几个数量级。
如果您不知道可以丢失多少实体,我将使用MassIndexer,因为它将在更容易预测的时间范围内完成。如果您需要重新索引已知的有限数量的实体,则单index()
方法更适合。