網頁搜尋結果

在本主題中,您將學習如何對結果進行分頁CMS API請求,當請求匹配的項目多於您一次可以返回的項目時。這可讓您以較小的群組處理大型結果集,從而改善效能。從單一要求傳回最多 100 筆記錄至 CMS API,但對於大型結果集,我們建議每個請求擷取 25 個項目,以獲得更好的效能。

程序

要處理數據分頁,您將按照以下步驟操作:

  • 獲取結果集中記錄總數。
  • 計算結果集的頁數。
  • 循環並調用CMS API對於每一頁數據。

獲取記錄數

首先,您需要知道結果集中的視頻總數。結果集中的響應會根據您的搜索條件而有所不同。使用counts資源以返回結果集中記錄的總數。

範例:獲取您帳戶中視頻的總數:

    https://cms.api.brightcove.com/v1/accounts/921483702001/counts/videos

回應:

    {
        "count" : 74
    }

您還可以使用可選的來限制計數q範圍。有關使用帶有此參數的搜索條件的詳細信息,請參閱使用內容管理系統 API:搜索影片文檔。

範例:在這裡,我們得到標籤值為的視頻數量野生動物 .

    https://cms.api.brightcove.com/v1/accounts/921483702001/counts/videos?q=tags:wildlife

回應:

    {
        "count" : 6
    }

計算頁面

要計算頁數,請取結果集中的記錄總數,然後將其除以每頁的記錄數(頁面大小)。

您可以設置固定的頁面大小,或者如果要在網頁上顯示視頻數據,則可以讓用戶動態設置頁面大小(即,每頁視頻數據對象的數量)。

JavaScript示例:

    var numberOfPages = Math.ceil(jsonData.count / pageSize);

檢索頁面

遍歷您在上一步中計算的頁數並調用CMS APIlimitoffset檢索連續數據子集的參數。

本示例從結果集中的第21個視頻開始返回10個視頻。

    https://cms.api.brightcove.com/v1/accounts/921483702001/videos?limit=10&offset=20

您還可以包括可選的q範圍。有關使用帶有此參數的搜索條件的詳細信息,請參閱使用內容管理系統 API:搜索影片文檔。

此請求從視頻結果集中的第 5 個視頻開始返回 2 個視頻,標籤值為野生動物 .

    https://cms.api.brightcove.com/v1/accounts/921483702001/videos?q=tags:wildlife&limit=2&offset=4

已知問題

  • 重複結果:在某些情況下,搜索結果中的某些項目可能會出現不止一次。

    解決方法:為防止重複搜索結果,請始終使用sort搜索請求中的參數。