2016-05-24 15 views
0

Ich verwende Searchkick, um eine Verbindung zu einem ElasticSearch-Server herzustellen, der Hunderttausende von Dokumenten indiziert. Das Paging durch alle Ergebnisse führt jedoch häufig zu einem Absturz. Wie kann ich die Methode search nur maximal n Ergebnisse zurückgeben?Wie begrenzen Sie die maximale Anzahl von Ergebnissen mit Searchkick

+0

Wir würden gerne sehen, was Sie versucht haben, und eine Erklärung, warum es Ihnen nicht geholfen hat. Bitte lesen Sie "[fragen]", einschließlich der Links auf dieser Seite. –

+0

Warum runterzählen? Dies ist nützlich, wenn Sie nicht möchten, dass Ihre Benutzer innerhalb der Millionen von Datensätzen blättern, da dies höchstwahrscheinlich nicht der Fall ist. –

Antwort

0

direkt von der README in den Link Genommen Sie auf dem Laufenden:

Product.search "apples", where: {in_stock: true}, limit: 10, offset: 50 

limit: 10 in maximal 10 Ergebnisse führen wird zurückgegeben.

+0

Vielleicht war ich nicht klar. Ich möchte die Gesamtzahl der insgesamt zurückgegebenen Ergebnisse begrenzen, nicht wie viele auf einer bestimmten Seite zurückkommen. Angenommen, es gibt 1.000.000 Dokumente, aber ich möchte nie, dass die Anzahl der verfügbaren Ergebnisse für die Paginierung mehr als 1.000 beträgt. – Avishai

+0

Das ist seltsames Verhalten; Warum möchten Sie die Anzahl der verfügbaren Seiten begrenzen? Bei einer Schätzung könnte es möglich sein, indem Sie: 'Product.limit (xxxxx) .search" Äpfel ", wobei: {in_stock: true}, Grenze: 10, Offset: 50' –

+0

Weil, wenn Sie Millionen von Dokumenten haben, und Bei einer Indexseite, die von Google gecrawlt wird, treten Probleme auf, wenn nach "Limit: 1000, Offset: 1958" gefragt wird. Ich denke, ein besserer Weg, die Frage zu formulieren, könnte sein: Wie schränkt man den maximalen Offset ein? – Avishai

Verwandte Themen