1

オブジェクトの多くのフィールドから検索するHibernate検索があります。どのフィールドが各結果オブジェクトの結果と一致したかを知ることは可能ですか?

4

1 に答える 1

4

箱から出していない。一致したフィールドに関するいくつかの情報は、HibernateSearchのプロジェクションを介して取得できるLuceneExplanationオブジェクトから抽出できます。問題は、このオブジェクトがプログラムによるインターフェースとしてではなく、検索結果を視覚的に検査するために設計されていることです。文字列出力を解析することはできますが、Luceneの新しいバージョンでは形式が変更される可能性があります。

もう1つのオプションは、一致するドキュメントを繰り返し、手動で(たとえば、正規表現を介して)一致するフィールドを見つけようとすることです。Luceneクエリによっては、正規表現を思い付くのが非常に難しい場合があるため、これも非常に注意が必要です。

それはあなたの具体的なユースケースに帰着します。この情報は何のために必要ですか?たぶん、別の解決策があります。

于 2009-12-15T11:43:47.067 に答える