アプリケーションで Hibernate Search を使用します。ファセットを使用します。最近、大きな制限が見つかりました。複数の値を持つことができるフィールドに対するファセットは、Hibernate Search では正しく機能しません。ファセットされたフィールド (複数のカテゴリなど) に対してドキュメントに複数の値がある場合、値の 1 つだけが考慮されます。
私は現在、いくつかの2つの解決策を考えることができます:
- bobo-browse を使用する (http://code.google.com/p/bobo-browse/)
- ソル (http://lucene.apache.org/solr/)
どちらのソリューションでも、引き続き Hiberante Search を使用してインデックスを維持し、以前と同じように (Hiberante Search を使用して) クエリを作成し、必要に応じてファセット用に追加の bobo-browse または solr クエリを実行します (bobo-browse または solr は同じ種類のインデックスを使用します)。 「読み取り専用」の方法)。問題は、インデックスを頻繁に更新し、ファセット クエリで本当に新しいデータを取得したいことです。Bobo-browse は Hiberante Search と自動的に統合されず、検索を最新の状態に保つために、いくつかの問題が発生する可能性があります (例: https://groups.google.com/forum/?fromgroups=#!topic/bobo-参照/sn_Efc-YClU)。ドキュメントは少し乱雑に見え、まだ完成していません。一方、Solr は、ファセットを適切に機能させるためだけに、追加するのが非常に大きなもののように思えます。そして、インデックスの更新/更新で問題が発生する可能性があるのではないかと心配しています。
その件について何か経験はありますか。助言がありますか?