我刚刚开始将 Hibernate Search 与我的 Hibernate 应用程序集成。每次我启动服务器时,都会使用 Hibernate Session 对数据进行索引。
FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
List books = session.createQuery("from Book as book").list();
for (Book book : books) {
fullTextSession.index(book);
}
tx.commit(); //index is written at commit time
这很尴尬,服务器需要 10 分钟才能启动。我是否以正确的方式做这件事?
我写了一个调度器,它会定期更新索引。这会自动更新现有的索引条目,还是创建重复的索引?