2017-02-14 8 views
1

Ich verwende elasticsearch, um einige Aggregationen durchzuführen. Früher hat alles gut funktioniert, aber momentan habe ich 2 Millionen Dokumente in einem Index. Ich führe eine sehr einfache Suchanfrage list all documents in einem gegebenen type eines gegebenen index durch.Elasticsearch Abfrage gibt Ergebnisse sehr langsam auf eine einfache Abfrage

{ 
"size":100000, 
"query": 
     {"match_all":{} 
    } 
} 

Diese Abfrage ist sehr langsam und gibt über 300k hits. Was könnten die möglichen Gründe dafür sein? HINWEIS: Ich habe 2G RAM. 2 Kerne

Antwort

1

Sie versuchen, eine Antwort mit 100.000 Dokumenten darin zu erhalten. Das ist einfach zu viel. Elasticsearch ist für das Paging vorgesehen. Paging bedeutet, in kleinen Stücken zu holen. Sie versuchen, eine Masse von 100.000 zu holen. Es gibt einen Grund, warum es mit einer Größe von 10 vorschlägt.

+0

danke für Antwort ich fand heraus, dass das Hauptproblem war. – anekix

0

Ich fand schließlich heraus, dass diese Konfiguration für meine Bedürfnisse, die über 2 Millionen Dokumente suchen, reicht. Ich hatte eine falsche Konfiguration und auch die Methode, einfach zu tun match_all ist nicht korrekt, auch wenn wir 2 Millionen Dokumente eine Suche auf der Grundlage einiger Kriterien durchführen würde sehr schnell sein.

Verwandte Themen