【问题标题】:Hibernate Search - recreate index if existing data was not indexed beforeHibernate Search - 如果之前没有索引现有数据,则重新创建索引
【发布时间】:2019-06-02 05:52:47
【问题描述】:

我有一个现有项目,在数据库中有大量数据。我正在将 Hibernate Search 添加到项目中。 由于我希望对现有数据进行索引,因此我想在我的服务启动时通过

开始对其进行索引
fullTextEntityManager.createIndexer().startAndWait()

但我只想做一次(当现有数据没有被索引时),因为以后所有的数据更改都会被同步。

所以我的问题是:Hibernate Search 是否有任何方法来检查是否已经为实体创建了索引?我需要它来了解是否必须重建所有索引(在第一次启动时)(例如,当我的应用程序在升级后启动时,我不必清除所有索引并再次创建它们)以避免长时间每次我重新启动应用程序时都会启动。

【问题讨论】:

    标签: hibernate elasticsearch lucene hibernate-search


    【解决方案1】:

    Hibernate Search 无法安全可靠地检测到这一点,因此我们故意忽略了这一点。

    最好自己加个方法触发,这样就可以显式控制了; MassIndexer 也可以通过 JMX 轻松调用。

    我通常在我的“管理”控制面板视图中添加一个“重建索引”按钮;这总是有用的;-)

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多