2017-04-20 170 views
0

我在項目中使用Algolia和instantsearch.js來進行搜索並顯示其中的類別和內容(類別頁面和搜索頁面由Algolia提供支持)。我們正在使用instantsearch.js v1來自cdn。如何在Algolia中顯示超過1000條記錄instantsearch.js

我們的主要問題是,搜索沒有提供超過1000個我們需要的記錄。

據我所知,browse()方法提供了更多的結果,但它不適用於instantsearch.js。

此外,閱讀文檔後,我發現有一個叫paginationLimitedTo新選項,允許顯示超過1000條記錄:

https://www.algolia.com/doc/rest-api/search/#paginationlimitedto

因此,設置這將允許顯示超過1000條記錄。

你能幫我嗎,我應該如何獲得超過1000條記錄,或者如果它能達到我們的目標,我們如何在instantsearch.js中設置這個paginationLimitedTo屬性?如果我需要暫時編譯或編輯instantsearch.js,我很好。

由於提前,

回答

3

爲了改變paginationLimitedTo的價值,你需要創建一個自定義client對象,然後通過執行調用client.initIndex(indexName)讓你index,然後通過調用

更改設置
index.setSettings({ 
    paginationLimitedTo: 1000 
}); 

您可以查看文檔here中的指南。

另外,請記住以下幾點:

我們建議保持默認值,以保證優良的性能。增加分頁限制將直接影響搜索查詢的效果。太高的值也會使任何人都很容易檢索(「刮擦」)整個數據集。

+3

添加到這一點,你可以用'options.createAlgoliaClient' https://community.algolia.com/instantsearch.js/documentation/#initialization添加自定義客戶端 –

+0

@HaroenViaene和蓋伊:您好,謝謝爲了快速響應!但是,當我這樣設置時,public api鍵會引發我說「方法不允許使用此API密鑰」,但是當我使用我的管理密鑰時,它可以正常工作!當然,我不會在公共Javascript文件中使用我的管理員密鑰。任何其他解決方法?以下是我嘗試過的要點:https://gist.github.com/anonymous/d1171aa046a52e011d466e38c6b17aa4 – Arda

+3

'paginationLimitedTo'設置不能在查詢時設置,它可以通過'setSettings'方法用admin API密鑰設置一次。所以你只需要設置一次而不是每次查詢。 –

相關問題