Mit dem ElasticSearch-Javascript-Client (node.js), was ist die beste (oder einfachste) Möglichkeit, jedes Dokument in einem Index (ca. 100 000 Dokumente) zu durchlaufen?Looping über alle Dokumente in einem ElasticSearch-Index
Antwort
Ich denke, ein guter Ort, um mit Scan-Abfragen ist die Scroll-api verwenden:
http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/scan-scroll.html
Im Grunde ist es ähnlich wie bei einem Cursor mit einer Datenbank - Öffnen Sie die Abfrage mit Zeitlimit und es gibt eine Scroll-ID Sie verwenden dann diese Bildlauf-ID, um den ersten Stapel von Ergebnissen abzurufen, und die Dokumente werden zusammen mit einer neuen Bildlauf-ID zurückgegeben. Beispiele unten:
curl -XGET 'localhost:9200/_search?search_type=scan&scroll=10m&size=1000' -d '
{
"query" : {
"match_all" : {}
}
}
'
Dies wird eine _scroll_id zurück, die Sie dann Dokumente verwenden abzurufen:
curl -XGET 'localhost:9200/_search/scroll?scroll=10m' -d '<_SCROLL_ID_HERE>'
Beachten Sie, dass diese 1000 Dokumente pro primärem SHARD zurück - wenn Sie also vier primäre Shards haben wird es Gebe 4000 Dokumente zurück. Jeder Aufruf gibt zusätzlich zu den Dokumenten eine neue _scroll_id zurück, die Sie dann für den nächsten Aufruf verwenden. Der "scroll = 10m" legt ein Zeitlimit von 10m fest, um den Bildlauf zwischen den Anrufen offen zu halten.
- 1. Alle Dokumente in einem Suchindex übereinstimmen
- 2. Bash, Looping über Verzeichnisse
- 3. Looping über alle Member-Variablen einer Klasse in Python
- 4. Looping über alle Fenster [global] Variablen in Javascript. IE kompatibel?
- 5. Looping über Wörterbuch in C#
- 6. über Befehle Looping in BASH
- 7. Looping über Spalten in Schienen
- 8. Looping über Monads in Haskell
- 9. Looping über mehrere Spalten in einem Datenrahmen in R
- 10. DIVs Looping über jQuery
- 11. db.collection.update() alle Dokumente
- 12. Wie bearbeitet man alle Word-Dokumente in einem Verzeichnis?
- 13. Bedingungen Aggregationen - Getting insgesamt jedes Wort über alle Dokumente
- 14. Playframework: Looping über eine Liste
- 15. Continuous, looping, scrollbarer Inhalt in alle Richtungen
- 16. Looping über Protocol Buffers-Attribute in Python
- 17. Looping durch alle Zellen in UICollectionView
- 18. Looping über große dünne Array
- 19. JavaFX Looping über Scenegraph-Steuerelemente
- 20. Looping über Listen in der Liste
- 21. Looping über zwei Kriterien in R
- 22. Looping durch alle Instanzen eines Javascript-Objekt
- 23. Alle Parser für RFC-Dokumente?
- 24. Erhalten Sie alle Design-Dokumente in CouchDB
- 25. Suchen und Ersetzen in elasticsearch alle Dokumente
- 26. Finden Sie alle Dokumente mit * in MongoDB
- 27. Dokument hinzufügen Zeitstempel in alle Dokumente einfügen
- 28. CouchDB Abfrage mehrere Schlüssel erhalten alle Dokumente von einem Schlüssel
- 29. Suche über zwei Lucene-Dokumente
- 30. alle Dateien in einem Verzeichnis, über web.config