Ich habe eine sehr schlechte Woche, nachdem ich elasticsearch mit graylog2 gewählt habe. Ich versuche, Abfragen auf die Daten in ES mit Python auszuführen.
Ich habe folgende Kunden versucht.
Elasticutils - Ein weiteres dokumentiert, aber ohne eine vollständige Probe. Ich erhalte den folgenden Fehler mit angehängtem Code. Ich weiß nicht einmal, wie es dieses S () verwendet, um sich mit dem richtigen Host zu verbinden?
es = get_es (Rechner = HOST, default_indexes = [INDEX])
basic_s = S (). Indizes (INDEX) .doctypes (DOCTYPE) .values_dict ()
Ergebnisse:
%Vor%Ich wünsche den Entwicklern dieser guten Projekte einige vollständige Beispiele. Selbst wenn ich auf Quellen schaue, bin ich kein vollständiger Verlust.
Gibt es eine Lösung, helft mir da draußen mit elasticsearch und python oder soll ich einfach all das fallen lassen und für ein nettes splunk-Konto bezahlen und dieses Elend beenden.
Ich fahre mit curl fort, lade das gesamte json-Ergebnis herunter und json lade es. Hoffe, dass funktioniert, obwohl curl Herunterladen von 1 Million Nachrichten von elasticsearch möglicherweise nicht einfach passieren.
Ehrlich gesagt, hatte ich das meiste Glück mit CURLing alles. ES hat so viele verschiedene Methoden, Filter und Abfragen, dass es für verschiedene "Wrapper" schwierig ist, alle Funktionen neu zu erstellen. Meiner Ansicht nach ist es vergleichbar mit der Verwendung eines ORM für Datenbanken ... Was Sie an Benutzerfreundlichkeit gewinnen, Sie verlieren an Flexibilität / roher Macht.
Außer die meisten Wrapper für ES sind nicht wirklich so einfach zu bedienen.
Ich würde CURL eine Weile versuchen und sehen, wie es dich behandelt. Sie können externe JSON-Formatierer verwenden, um Ihren JSON zu überprüfen, die Mailingliste, um nach Beispielen zu suchen, und die Dokumente sind in Ordnung, wenn Sie JSON verwenden.
Ich habe gefunden, dass Rohe ziemlich brauchbar sind: Ссылка
Es ist eine eher Low-Level-Schnittstelle, aber ich habe festgestellt, dass es viel weniger umständlich ist, damit zu arbeiten als die High-Level-Schnittstellen. Es unterstützt auch den Thrift RPC, wenn Sie daran interessiert sind.
ElasticSearch vor kurzem (September 2013) hat einen offiziellen Python veröffentlicht Kunde elasticsearch-py (Elasticsearch auf PyPI, auch auf < a href="https://github.com/elasticsearch/elasticsearch-py"> github ), das eine ziemlich direkte Zuordnung zum offiziellen ElasticSearch-API sein soll. Ich habe es noch nicht benutzt, aber es sieht vielversprechend aus, und es wird zumindest den offiziellen Dokumenten entsprechen!
Edit: Wir haben angefangen, es zu benutzen, und ich bin sehr glücklich damit. Die API von ElasticSearch ist ziemlich sauber und elasticsearch-py behält dies bei. Einfacher zu arbeiten und zu debuggen im Allgemeinen, plus anständige Protokollierung.
ElasticUtils hat Beispielcode: Ссылка
Wenn Sie andere Dinge in den Dokumenten benötigen, fragen Sie einfach.
Tags und Links python elasticsearch pyes