我想使用Lucene在我的Postgresql數據庫中的一些使用EclipseLink存儲的java對象上提供全文搜索功能。如何使用Lucene和JPA?
我看到Hibernate有一個名爲Hibernate Search的Lucene集成解決方案,但我找不到任何EclipseLink。 EclispeLink有解決方案嗎?如果沒有,我對添加和刪除對象時應該如何處理Lucene索引有模糊的想法,但如果有人能夠爲我提供有關此主題的良好教程,我將非常感激。
由於提前,
托馬斯
我想使用Lucene在我的Postgresql數據庫中的一些使用EclipseLink存儲的java對象上提供全文搜索功能。如何使用Lucene和JPA?
我看到Hibernate有一個名爲Hibernate Search的Lucene集成解決方案,但我找不到任何EclipseLink。 EclispeLink有解決方案嗎?如果沒有,我對添加和刪除對象時應該如何處理Lucene索引有模糊的想法,但如果有人能夠爲我提供有關此主題的良好教程,我將非常感激。
由於提前,
托馬斯
有指南針。但是,這是一個單人項目,開發人員在2009年停止了這項工作。他轉而參與另一個名爲ElasticSearch的單人項目。
該項目是一個獨立的搜索引擎,與Apache Solr競爭...而不是與Apache Lucene和Hibernate Search競爭的嵌入式庫。
不幸的是,我不確定是否有任何其他將EclipseLink與Apache Lucene集成在一起的重要替代方案。自從Oracle從TopLink更名後,EclipseLink已經收集了很多思想共享,將它分離出來,並宣佈它是一個參考實現。 EclipseLink MOXy是一個極好的JAX-B實現,它帶有一些非常酷的擴展。但是,對於核心數據庫交互...... Hibernate仍然是比較成熟並且採用JPA實現的一英里。
另一方面,Lucene 的Hibernate搜索包裝支持在JPA 2模式下使用Hibernate而不是其傳統的API支持。在我看來,它集成了一點JPA而不是舊的Hibernate API。
因此,除非您使用專有的EclipseLink擴展,並且您已鎖定,否則如果想要輕鬆Lucene集成,則可以考慮更換您的JPA提供程序。如果您的實體類已經是JPA註釋,那麼更新persistence.xml
文件(以及您的Maven POM,或者您管理JAR依賴項)應該很簡單。
謝謝。我看了這些。我想我會轉向Hibernate的確......它也支持空間查詢以及更多我需要的功能,而且EclipseLink不幸不支持。 – Thomas 2012-09-24 07:11:35
現在是2017年,Elasticsearch是巨大的。我發現這個教程Elasticsearch和Hibernate非常合適:https://www.youtube.com/watch?v=ufaI51o_7WI – Max 2017-05-13 20:12:01