2017-04-20 5 views
0

Ich benutze Algolia zusammen mit instantsearch.js in einem Projekt, um Suchen und zeigen Kategorien und Inhalte in ihnen (Kategorie Seite und Suchseiten sind powered by Algolia). Wir verwenden instantsearch.js v1 ist von cdn.Wie man mehr als 1000 Datensätze in Algolia zeigt instantsearch.js

Unser Hauptproblem ist, dass die Suche nicht mehr als 1000 Datensätze, die wir benötigen, bietet.

Soweit ich das richtig verstehe, bietet browse() Methode mehr Ergebnisse, aber es ist nicht in instantsearch.js verwendbar.

Auch nach docs lesen, fand ich heraus, dass es eine neue Option namens paginationLimitedTo, die mehr als 1000 Datensätze erlaubt die Anzeige:

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

Also, diese Einstellung erlauben würde, mehr als 1000 Datensätze angezeigt werden.

Können Sie mir helfen, wie soll ich erreichen, mehr als 1000 Datensätze, oder wenn es unser Ziel erreichen würde, wie setzen wir dieses paginationLimitedTo Attribut in instantsearch.js? Mir geht es gut, wenn ich instantsearch.js vorerst bauen oder bearbeiten muss.

Vielen Dank im Voraus,

Antwort

3

Um den Wert für paginationLimitedTo ändern zu können, müssen Sie ein benutzerdefinierte client-Objekt erstellen, dann index erhalten, indem client.initIndex(indexName) Aufruf zu tun, und ändern Sie die Einstellung von

Aufruf
index.setSettings({ 
    paginationLimitedTo: 1000 
}); 

Sie können die Anleitung dafür in der Dokumentation here überprüfen.

Denken Sie auch daran Sie bitte folgendes:

Wir empfehlen, den Standardwert zu halten hervorragende Leistung zu gewährleisten. Die Erhöhung der Seitenumbruchgrenze hat direkte Auswirkungen auf die Leistung von Suchanfragen. Ein zu hoher Wert wird es auch sehr leicht machen, Ihren gesamten Datensatz abzurufen ("scrape").

+3

dem hinzuzufügen, können Sie 'verwenden options.createAlgoliaClient' https://community.algolia.com/instantsearch.js/documentation/#initialization zum Hinzufügen des benutzerdefinierten Client –

+0

@HaroenViaene & Guy: Hallo, danke für die schnellen Antworten! Wenn ich dies jedoch festlege, wirft der öffentliche API-Schlüssel die Meldung "Methode nicht mit diesem API-Schlüssel erlaubt" auf, aber wenn ich meinen Admin-Schlüssel verwende, funktioniert es! Und sicher werde ich meinen Admin-Schlüssel nicht in der öffentlichen Javascript-Datei verwenden. Irgendwelche anderen Problemumgehungen? Hier ist der Kern dessen, was ich versucht habe: https://gist.github.com/anonymous/d1171aa046a52e011d466e38c6b17aa4 – Arda

+3

'paginationLimitedTo' Einstellung kann nicht auf Abfrage Zeit eingestellt werden, kann es einmal über' setSettings' Methode mit Admin-API-Schlüssel festgelegt werden. Sie müssen es also nur einmal einstellen und nicht bei jeder Abfrage. –

Verwandte Themen