5.2.4. 結果の理解


結果がクエリに表れたり、表れなかったりして不思議に思うことがあるかもしれません。Luke はこのことについて理解するのに優れたツールです。ただし、Hibernate Search は該当する結果に対して Lucene Explanation オブジェクトへのアクセスを提供します (該当するクエリで)。このクラスは Lucene ユーザーにとっては非常に高度なものですが、オブジェクトのスコアを理解するのに役に立ちます。該当する結果の Explanation オブジェクトにアクセスするには 2 つの方法があります。
  • fullTextQuery.explain(int) メソッドを使用
  • プロジェクションを使用
最初の方法では、ドキュメント id をパラメータとして取得し、Explanation オブジェクトを返します。ドキュメント id はプロジェクションと FullTextQuery.DOCUMENT_ID 定数を使用して取得できます。

警告

ドキュメント id はエンティティ id とは関係ありません。これらの 2 つを混同しないでください。
2 つ目の方法では、FullTextQuery.EXPLANATION 定数を使用して Explanation オブジェクトを予測します。

例5.13 プロジェクションを使用して Lucene Explanation オブジェクトを取得

FullTextQuery ftQuery = s.createFullTextQuery( luceneQuery, Dvd.class )
        .setProjection( FullTextQuery.DOCUMENT_ID, FullTextQuery.EXPLANATION, FullTextQuery.THIS );
@SuppressWarnings("unchecked") List<Object[]> results = ftQuery.list();
for (Object[] result : results) {
    Explanation e = (Explanation) result[1];
    System.out.println( e.toString() );
}
Copy to Clipboard Toggle word wrap
Explanation オブジェクトの構築は非常にコストがかかることに注意してください。このコストは大体 Lucene クエリを再び実行するコストと同じです。Explanation オブジェクトが必要ない場合はこの作業を行わないでください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat