首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate搜索,从远程服务更新索引。

Hibernate搜索,从远程服务更新索引。
EN

Stack Overflow用户
提问于 2017-07-14 13:27:13
回答 1查看 230关注 0票数 0

和另外两个学生一起,我们正在做一个项目。该体系结构如下:

  • java服务,使用web爬虫获取网站上的信息,并将结果存储在自己的数据库中。我们没有在这个项目上使用Hibernate。
  • 一个J2E网站,使用maven/spring/hibernate (代码优先)

通过预定的任务,我们将从web爬虫数据库中的结果插入到网站数据库中。

当然,我们希望在网站上对这一结果进行快速研究!所以我在考虑使用HibernateSearch,这似乎是一个很棒的工具!

但是,我不确定我是否可以在我的例子中使用它:据我所知,hibernate -搜索正在更新(Hibernate)事务上的索引,而且由于插入不是通过hiberate完成的,我想知道它是否还能工作(hibernate会注意到数据库事务吗?),如果没有,是否有任何通过服务强制更新的技巧!

注意:我知道有一个创建索引的指令:

代码语言:javascript
复制
FullTextSession fullTextSession = Search.getFullTextSession(session);
fullTextSession.createIndexer().startAndWait()

但是,我并不想每次做插入时都删除/创建索引。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-15 13:02:32

Hibernate搜索不能侦听数据库中的内部事件,只有在使用Hibernate ORM执行您的查询时,它才能自动更新索引。

类似场景中的一些Hibernate搜索用户只会周期性地(例如每晚)触发MassIndexer。根据您的用例,这可能是很好的,例如,如果您的web应用程序是一个网络商店,人们通常是可以在搜索结果中显示新的项目,在插入后有一些延迟。

如果这对您的用例无效,那么您有两种选择:

  • 使插入事务使用Hibernate ORM
  • 手动生成要Hibernate搜索的事件

通过Hibernate ORM加载新元素,然后调用FullTextSession.index( entity )来执行“手动”索引。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45104225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档