14.3.2. 結果の取得
Hibernate クエリーの構築後、HQL または Criteria クエリーと同じように実行されます。同じパラダイムとオブジェクトセマンティクスが、Lucene クエリークエリーと次のような一般的な操作に適用されます。
list()
、uniqueResult()
、iterate()
、scroll()
利用可能です。
14.3.2.1. パフォーマンスに関する考慮事項
妥当な数の結果 (たとえば、ページネーションを使用) を期待し、それらすべてで機能することを期待する場合は、
list()
またuniqueResult()
をお勧めします。list()
は、エンティティー batch-size
が正しく設定されている場合に最適に機能します。Hibernate Search を使用する場合、(ページネーション内の) すべての LuceneHits 要素を処理する必要があることに注意してください。list()
、uniqueResult()
とiterate()
。
Lucene ドキュメントの負荷を最小限に抑える必要がある場合には、
scroll()
の方が適しています。ScrollableResults
オブジェクトは Lucene のリソースを保持しているので、終了したら閉じることを忘れないでください。使用する予定の場合scroll,
ただし、オブジェクトをバッチでロードしたい場合は、次を使用できます。query.setFetchSize()
。オブジェクトにアクセスし、読み込まれていない場合、Hibernate Search は次の fetchSize
オブジェクトをパスに読み込みます。
重要
ページネーションが、スクロールよりも好まれます。