如何将木兰cms与hibernate搜索集成?

时间:2011-10-26 16:41:45

标签: java hibernate content-management-system hibernate-search magnolia

有人设法获得包含这两个框架的工作应用程序吗?

我面临的问题是依赖关系是这样的:

玉兰花4.4.5 - > apache jackrabbit 1.6.4 - > apache lucene 2.4.1 hibernate search 3.4.1.Final - > apache lucene 3.1.0

因此lucene版本存在不一致性。 我需要一个带注释的hibernate搜索版本。

我真的试图整合这两个但没有运气。我希望其他人能成功。

谢谢:)

1 个答案:

答案 0 :(得分:4)

我们已经成功地使用了很长时间。真的很糟糕,Jackrabbit更新Lucene的速度太慢了。这很难。我认为你应该考虑在一个单独的JVM中使用Solr来摆脱这种依赖。

话虽如此,这就是你如何解决它。什么是可能的是Jackrabbit。

Jackrabbit 1.6.x,你必须使用Lucene 2.4.x.我们成功地做了很长时间,但后来被迫使用旧的hibernate搜索。如果你愿意,我也可以给你那个配置。

但最近当jackrabbit发布2.3.0时,它取决于Lucene 3.0.3。它在3.1.0中断,所以你必须使用Lucene 3.0.3。

这是我们的配置简化:

org.apache.jackrabbit:jackrabbit-core 2.3.0
- 排除org.apache.lucene:lucene-core

org.hibernate作为:休眠核:3.6.7.Final

org.hibernate作为:休眠-公地注解:3.2.0.Final
- 排除org.hibernate:hibernate

org.hibernate:hibernate-search:3.3.0.Final或3.4.0.CR1
- 排除org.hibernate:ejb3-persistence
- 排除org.apache.lucene:lucene-core

(3.4.0.CR1是依赖Lucene 3.0.3的最后一个hibernate搜索,但是如果你不希望beta版本使用3.3.0或3.3.1)

org.apache.lucene:lucene的核心:3.0.3

Magnolia 4.4.5

正常的Hibernate Annotations项目现在包含在org.hibernate:hibernate-core:3.6.7.Final中,所以不需要依赖它。