我是Hibernate Search
的新手。根据文件
直到现在我才开始学习,我知道我们可以通过编程方式建立lucene索引:(如果我错了,请纠正我)
FullTextSession fullTextSession = Search.getFullTextSession(session);
fullTextSession.createIndexer().startAndWait();
但令我惊讶的是,如果有任何方式(并且可能)在初始设置时仅创建一次索引。
答案 0 :(得分:3)
如果使用空数据库(最初)启动应用程序,则无需构建索引。 当您重新启动应用程序时,索引(默认情况下)存储在文件系统上,因此无需重建索引。
此操作仅在丢失索引(磁盘崩溃?),更新Hibernate Search或Lucene版本,还原其他数据库备份或更改实体映射时使用:它不能自动检测它应该运行的时间,因此你应该明确地调用该方法。
MassIndexer 也可以作为JMX操作使用,这使管理员无需编写代码即可轻松调用,或者在某些情况下,我只是在我的“管理面板”中创建了一个“管理面板”。网络应用程序供人们在需要时操作。