4.3.5 検索結果キャッシュと検索結果取得情報を指定した検索

同じ検索条件の検索を複数回繰り返す場合,検索結果キャッシュを使用することができます。検索結果キャッシュを使用する検索を,キャッシュ検索といいます。また,検索結果キャッシュを使用しない検索は,キャッシュなし検索といいます。

キャッシュ検索では,1回目の検索で取得した検索結果集合を,いったんキャッシュに保管します。ユーザアプリケーションプログラムには,ユーザアプリケーションプログラムで指定した件数分だけ返却します。2回目以降の検索では,検索結果を,検索結果キャッシュからユーザアプリケーションプログラムに返却します。

例えば,検索結果が1,000件ある検索を実行する時に,「画面に20件ずつ表示したいので,検索結果は20件ずつ取得したい」という指定ができます。この場合,1回目の検索で1,000件分の検索結果集合がキャッシュに保存され,ユーザアプリケーションプログラムには,そのうち先頭から20件分の検索結果だけが返却されます。2回目以降の検索では,検索結果キャッシュからユーザアプリケーションプログラムに返却されます。「検索結果の21件目から20件を取得したい」という指定をして検索すれば,検索結果キャッシュの21件目から40件目の検索結果が,ユーザアプリケーションプログラムに返却されます。

また,検索結果が10,000件ある検索を実行した場合に,「検索結果としては1,000件までしか必要ない」という場合は,検索結果キャッシュとして取得する件数を1,000件までに限定することもできます。

検索結果キャッシュは,キャッシュ名を付けて管理します。キャッシュ名を指定しない場合,検索結果はキャッシュに保持されません。また,検索結果キャッシュはキャッシュ名によって識別されるため,一度に複数の検索結果キャッシュを保持できます。

検索結果キャッシュを使用する場合,「検索結果の何件目から何件目までを取得する」という情報は,検索結果取得情報として指定します。検索結果取得情報に指定した件数分の検索結果が,検索結果キャッシュからユーザアプリケーションプログラムに返却されます。また,キャッシュに取得する件数も,検索結果取得情報に指定します。

検索結果キャッシュと検索結果取得情報を指定した検索の例を,次の図に示します。

図4-3 検索結果キャッシュと検索結果取得情報を指定した検索の例

[図データ]

検索結果キャッシュと検索結果取得情報を指定した検索の詳細な指定方法については,「6.7.4 文書空間オブジェクトの検索」を参照してください。

また,一覧を取得するメソッドを実行する場合にも,検索結果キャッシュを作成して,検索結果取得情報を指定できます。これによって,例えば,「フォルダに関連付けている文書の一覧を10件ずつ取得する」というような処理が実現できます。