私はバックエンドの快適なWebサービスでWebアプリケーションを構築しています。Apache LuceneベースのDAO?
私のテーブルの1つはかなりスタンドアロンです。つまり、行はジョインなしで幸せに生きることができ、必要なときにプライマリキーだけをフェッチする方法で他のテーブルから参照されます。しかし、このテーブルは多くの行を保持し、それに対して実行される検索はすべて「Lucene」と叫びます。 MySQLは妥当な応答時間でこれらのクエリを処理することができません。
私はこのテーブルを検索するためにLuceneを使用したいと思います。過去に私はSolrを広く使用していましたので、私は概念と用語に精通しています。私は、SQL-to-Luceneのインデックス同期の代わりに上記の私の状況を考えれば、Luceneをこの特定のエンティティの標準的なストレージとして単に使用してはならない理由は理解できません。基本的には、この特定のテーブルの現在のHibernate DAOの実装を置き換える "Lucene DAO"実装をしたいと思います。
だから私の質問は以下のとおりです。
- 私はそれを回避し、SQLツーインデックス同期に固執すべき理由何らかの理由はありますか?
- 「Lucene DAO」が実行可能なアプローチである場合、そのようなものの基礎を提供するライブラリはありますか?私は検索しようとしましたが、何も見つかりませんでした。
- 私は見つけたのは半分しかありませんが、検索のためだけに試してみることができます。Hibernate Search Hibernate Searchを使用している人はいますか?
編集:私は今、一目で私が探しているものをあるように思われCompassに遭遇しました。誰もそれについて何か経験がありますか?
編集#2:コンパスを中止と全く同じ(サービスではなく成分)されていないElasticSearchで置換されています。 Hibernate Searchは私が探しているものではないことが判明しました。要するに、これは有効なアプローチですが、当面はこのようなDAOを実装する必要があります。