我有一个现有的项目,在数据库中有很多数据。我正在将hibernate搜索添加到项目中。因为我希望对现有数据进行索引,所以我希望在启动服务时通过
fullTextEntityManager.createIndexer().startAndWait()
但是我只想做一次(当现有数据没有被索引时),因为所有稍后的数据更改都将被同步。
所以我的问题是:hibernate搜索是否有任何方法来检查是否已经为实体创建了索引?我需要它来了解我是否必须重建所有索引(在第一次启动时)或不重建(例如,当我的应用程序在升级后启动时,我不必清除所有索引并再次创建它们),以避免每次重新启动应用程序时长时间启动。
1条答案
按热度按时间ajsxfq5m1#
hibernate搜索无法安全可靠地检测到这一点,因此我们故意忽略了这一点。
最好您自己添加一个方法来触发它,这样您就可以显式地控制它;massindexer也可以通过jmx轻松调用。
我通常在“管理”控制面板视图中添加一个“重建索引”按钮;这总是有用的;-)