如何将Hibernate和Solr集成在一起? [英] How to integrate Hibernate and Solr together?

查看:136
本文介绍了如何将Hibernate和Solr集成在一起?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于使用Hibernate来管理其对象持久性的人来说,Hibernate搜索是一个真正的救星。

尝试开发类似的功能(收集所有对象更改并将它们发送到事务处理后的全文搜索引擎)
另一方面,Solr有它自己的优点(比如,如果你需要它,就用1:m方面),这使它成为一个合适的选择决定一些场景。

因此,如果我使用Hibernate作为JPA提供程序并在Solr上索引对象,那么这些组件如何集成在一起?

解决方案

如果你想使用它们,两者一起可能会出现,尽管它需要一些编程工作。 >
这个想法是使用Hibernate Search来完成所有的辛苦工作,然后收集对象的变化并将它们转发给Solr。

这可以通过配置Hibernate Search来完成JMS或通过实现BackendQueueProcessor类并将其注册为hibernate搜索处理器。

如果希望查看一个可用示例,请查看 hibernate_search_solr_integration
请记住,这只是一个概念演示,您可能需要处理很多问题,例如连接失败,同步问题,线程并发性,软提交优化等等。

For people working with Hibernate to manage their objects persistence, Hibernate search is a real savior.
After trying to develop similar functionality (collecting all objects changes and sending them to a full text search engine upon transaction commit) you find out pretty fast that there are lots of pitfalls out there.
On the other hand Solr has its own advantages (like 1:m facets for example if you need it) which make it a suitable decision on some scenarios.
So if I work with Hibernate as the JPA provider and index my objects on Solr, how can these components be integrated together?

解决方案

In case you want to use them both together is turns out it is possible although it will require some programming work.
The idea is to work with Hibernate Search to do all the hard work and then collect the objects's changes and forward them to Solr.
This can be done either by configuring Hibernate Search to work with JMS or by implementing the BackendQueueProcessor class and registering it as the hibernate search processor.
If you wish to check out a working example, check out hibernate_search_solr_integration.
Just remember that it's just a concept demonstration and you will probably need to handle lots of issues such as connectivity failure, sync problems, thread concurrency, soft commit optimizations, etc...

这篇关于如何将Hibernate和Solr集成在一起?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆