

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

# Amazon CloudSearch の結果のページ分割
<a name="paginating-results"></a>

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

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

例えば、`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 件を超えるディープページ分割
<a name="deep-paging"></a>

`size` と `start` を使用して結果をページ分割して参照する方法は、結果の最初の数ページのみにアクセスする場合であればうまくいきます。しかし、数千件単位のヒット項目をページ分割する必要がある場合は、カーソルを使用する方が効率的です。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
```