Amazon CloudSearch の結果のページ分割 - Amazon CloudSearch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon CloudSearch の結果のページ分割

デフォルトで、Amazon CloudSearch は指定されたソート順に従って上位 10 件のヒット項目を返します。結果セットで返されるヒット項目の数を制御するには、size パラメータを使用します。

特定のオフセットから始まる次のヒットセットを取得するには、start パラメータを使用します。結果セットはゼロ起点です。最初の項目のインデックスは 0 であることに注意してください。最初の 10,000 件のヒット項目は、size および start パラメータを使用して取得できます。10,000 件を超えるヒット項目をページ分割するには、cursor パラメータを使用します。詳細については、「10,000 件を超えるディープページ分割 」を参照してください。

例えば、search?q=wolverine は、wolverine を含むインデックス 0 から始まる最初の 10 件のヒット項目を返します。次の例は start パラメータを 10 に設定して次の 10 件を取得します。

search?q=wolverine&start=10

1 回で 25 件取得する場合は、size パラメータを 25 に設定します。最初のヒットセットを取得する場合、start パラメータを設定する必要はありません。

search?q=wolverine&size=25

それ以降のリクエストでは、start パラメータを使用して必要なヒットセットを取得します。例えば、25 件単位で 3 番目のヒットセットを取得するには、次のように指定します:

search?q=wolverine&size=25&start=50

Amazon CloudSearch で 10,000 件を超えるディープページ分割

sizestart を使用して結果をページ分割して参照する方法は、結果の最初の数ページのみにアクセスする場合であればうまくいきます。しかし、数千件単位のヒット項目をページ分割する必要がある場合は、カーソルを使用する方が効率的です。10,000 件を超えるヒット項目をページ分割するには、cursor を使用する必要があります (start および size パラメータを使用してアクセスできるのは最初の 10,000 件のみです)。

カーソルを使用して結果をページ分割するには、最初の検索リクエスト cursor=initial を指定し、size パラメータを使って取得する件数を指定します。Amazon CloudSearch は、次のヒットセットを取得するために使用するレスポンス内のカーソル値を返します。カーソルはヒットセットを逐次的に返します。ただし、必要であれば、カーソルを使用してディープページのランダムアクセスをシミュレートすることもできます。注意点として、カーソルは、最初のリクエストからあまり時間がたっていないうちに結果セットをページ分割することを想定しています。途中でインデックスが更新された場合、古いカーソルを使用すると古い結果が返されることがあります。

重要

ドキュメントスコア (_score) によってソートされた結果セットを、カーソルを使用してページ分割すると、リクエストの合間にインデックスが更新された場合に結果が不整合になることがあります。ドメインのレプリケーション数が 1 より大きい場合にも同様の現象が発生することがあります。これは、更新が結果整合性方式でドメイン内のインスタンス間に適用されるためです。問題になる場合は、スコアによるソートを避けてください。sort オプションを使用して特定のフィールドでソートするか、または q の代わりに fq を使用して検索条件を指定できます。(ドキュメントスコアはフィルタークエリでは計算されません)

例えば、次のリクエストは cursor の値を initial に設定し、size パラメータを 100 に設定して、最初のヒットセットを取得します。

search?q=-star&cursor=initial&size=100

次のヒットセット用のカーソルは、レスポンスに含まれています。

{ "status": { "rid": "z67+3L0oHgo6swY=", "time-ms": 7 }, "hits": { "found": 1649, "start": 0, "cursor": "Vb-HSS4YQW9JSVFKeFpvQ2wwZERBek16SXpOems9Aw", "hit": [ { "id": "tt0397892" }, . . . { "id": "tt0332379" } ] } }

次のリクエストでは、cursor パラメータに、返されたカーソル値を指定します。

search?q=-star&cursor=Vb-HSS4YQW9JSVFKeFpvQ2wwZERBek16SXpOems9Aw&size=100