

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon CloudSearch 中分頁結果
<a name="paginating-results"></a>

根據預設，Amazon CloudSearch 會根據指定的排序順序傳回前十個命中。若要控制結果集傳回的命中數，請使用 `size` 參數。

如欲取得從特定位移算起的下一組命中項目，您可以使用 `start` 參數。請注意，結果集為零，第一個結果位於索引 0。使用 `size` 和 `start` 參數共可取得前 10,000 個命中項目。若要翻頁瀏覽超過 10,000 個命中項目，請使用 `cursor` 參數。如需詳細資訊，請參閱[深入翻頁超過 10,000 個命中項目 ](#deep-paging)。

例如，`search?q=wolverine` 會從索引 0 開始，傳回包含 *wolverine* 的前 10 個命中項目。以下範例將 `start` 參數設為 10 以取得下一組的 10 個命中項目。

```
search?q=wolverine&start=10
```

若您想要一次擷取 25 個命中項目，請將 `size` 參數設為 25。如欲取得第一組命中項目，便不需要設定 `start` 參數。

```
search?q=wolverine&size=25
```

對於後續請求，使用 `start` 參數可擷取任一組所需的命中項目。例如，若要取得第三批次的 25 個命中項目，請指定以下內容：

```
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`) 排序的結果集時，若兩次請求相隔其間發生了索引更新，您可能就會得到不一致的結果。如果您的網域複寫計數大於一，這種情況也有可能發生，因為更新會最終一致地套用於網域內的各執行個體。若您遇到此問題，請避免將結果依分數排序。您可以使用 `sort` 選項依特定欄位排序，或者使用 `fq` 代替 `q` 指定您的搜尋條件 (對篩選條件查詢不會計算文件分數)。

例如，以下請求將 `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
```