2017-04-20 4 views
0

Algoliaをプロジェクトでinstantsearch.jsと共に使用して検索し、カテゴリと内容を表示します(カテゴリページと検索ページはAlgoliaによって強化されています)。私たちはinstantsearch.jsを使用しています。v1はcdnからです。Algoliaに1000を超えるレコードを表示する方法

私たちの主な問題は、私たちが必要とする1000以上のレコードを検索では提供できないことです。

私が正しく理解する限り、browse()メソッドはより多くの結果を提供しますが、instantsearch.jsでは使用できません。 https://www.algolia.com/doc/rest-api/search/#paginationlimitedto

ので、これを設定すると、1000件の以上のレコードを表示できるようになります。また

は、ドキュメントを読んだ後、私は1000件の以上のレコードを表示することができますpaginationLimitedToと呼ばれる新しいオプションは、そこだということが分かりました。

1000を超えるレコードを取得するにはどうすればよいですか、目標を達成するには、instantsearch.jsにこのpaginationLimitedTo属性を設定するにはどうすればよいですか?私はinstantsearch.jsをしばらく構築したり編集したりする必要があれば大丈夫です。事前に

おかげで、

答えて

3

paginationLimitedToの値を変更するために、あなたはclient.initIndex(indexName)を呼び出すことによって、あなたのindexを取得し、その後、カスタムclientオブジェクトを作成する必要があり、その後、

を呼び出して設定を変更します
index.setSettings({ 
    paginationLimitedTo: 1000 
}); 

このガイドはドキュメントhereで確認できます。

また、次のことを忘れないでください:

私たちは、優れた性能を保証するために、デフォルト値を保つことをお勧めします。ページ番号の制限を増やすと、検索クエリのパフォーマンスに直接影響します。値が大きすぎると、誰でも簡単にデータセット全体を取得(「スクレイプ」)することができます。

+3

それに追加し、カスタムクライアント –

+0

@HaroenViaene&ガイを追加するために 'options.createAlgoliaClient' https://community.algolia.com/instantsearch.js/documentation/#initializationを使用することができます:こんにちは、感謝速い反応のために!しかし、私はこのように設定すると、公開APIキーは "メソッドはこのAPIキーで許可されていません"と私をスローしますが、私は私の管理キーを使用すると動作します!そして、確かに私はパブリックJavascriptファイルで私の管理者キーを使用しません。その他の回避策?私が試したことの要点は次のとおりです:https://gist.github.com/anonymous/d1171aa046a52e011d466e38c6b17aa4 – Arda

+3

'paginationLimitedTo'の設定はクエリ時には設定できません。管理APIキーを使って' setSettings'メソッドで設定することができます。したがって、すべてのクエリではなく、1回だけ設定する必要があります。 –

関連する問題