2012-01-16 9 views
10

私はPostgresqlデータベースにEclipseLinkで保存されたいくつかのJavaオブジェクトに対してフルテキスト検索機能を提供するためにLuceneを使用したいと考えています。LuceneとJPAの使い方は?

私はHibernateがHibernate Searchと呼ばれるLucene用の統合ソリューションを持っているのを見ましたが、私はEclipseLinkで何も見つかりません。 EclispeLinkのソリューションはありますか?そうでない場合は、オブジェクトの追加や削除時にLuceneのインデックス作成を処理するために何をすべきか漠然とした考えがありますが、このトピックに関する素晴らしいチュートリアルを誰かに提供できるかどうか本当に感謝します。事前に

おかげで、

トーマス

答えて

6

コンパスがありました。しかし、それは1人のプロジェクトであり、2009年には開発者が作業をやめた。ElasticSearchという別の1人のプロジェクトに移った。

このプロジェクトはApache LuceneとHibernate Searchと競合する組み込みライブラリではなく、Apache Solrと競合するスタンドアロンの検索エンジンです。

残念ながら、私はEclipseLinkをApache Luceneと統合するための他の深刻な選択肢について実際には分かりません。 TopLinkから名前を変更して捨て去り、リファレンス実装と宣言して以来、EclipseLinkは多くのマインドシェアを集めてきました。 EclipseLink MOXyはすばらしい拡張機能を備えた素晴らしいJAX-B実装です。しかし、コアデータベースとのインタラクションのために、Hibernateはまだ成熟しており、JPAの実装を1マイルほど受け入れています。

一方、LuceneのHibernate Searchラッパーは、従来のAPIではなくJPA 2モードでHibernateを使用して、をサポートしています。私の意見では、とにかく古いHibernate APIではなく、JPAと少しクリーナーを統合しています。

ロックインされた独自のEclipseLink拡張機能を使用している場合を除き、簡単にLuceneを統合したい場合は、JPAプロバイダを交換することを検討してください。エンティティクラスが既にJPAアノテーションされている場合は、persistence.xmlファイル(およびMaven POMを更新するか、JARの依存関係を管理する)を更新するだけで済みます。

+0

ありがとうございました。私はこれらすべてを見ました。私は実際にHibernateに移行すると思う...それはまた、空間的なクエリと私が必要とする多くのことをサポートしているし、残念なことにEclipseLinkはサポートしていない。 – Thomas

+0

今は2017年で、Elasticsearchは巨大です。このチュートリアルのElasticsearchとHibernateは非常に適切です:https://www.youtube.com/watch?v=ufaI51o_7WI – Max

関連する問題