hibernate search-如果之前没有索引现有数据,则重新创建索引

xam8gpfp  于 2021-06-15  发布在  ElasticSearch
关注(0)|答案(1)|浏览(580)

我有一个现有的项目,在数据库中有很多数据。我正在将hibernate搜索添加到项目中。因为我希望对现有数据进行索引,所以我希望在启动服务时通过

fullTextEntityManager.createIndexer().startAndWait()

但是我只想做一次(当现有数据没有被索引时),因为所有稍后的数据更改都将被同步。
所以我的问题是:hibernate搜索是否有任何方法来检查是否已经为实体创建了索引?我需要它来了解我是否必须重建所有索引(在第一次启动时)或不重建(例如,当我的应用程序在升级后启动时,我不必清除所有索引并再次创建它们),以避免每次重新启动应用程序时长时间启动。

ajsxfq5m

ajsxfq5m1#

hibernate搜索无法安全可靠地检测到这一点,因此我们故意忽略了这一点。
最好您自己添加一个方法来触发它,这样您就可以显式地控制它;massindexer也可以通过jmx轻松调用。
我通常在“管理”控制面板视图中添加一个“重建索引”按钮;这总是有用的;-)

相关问题