Zum Inhalt springen

TablePro täglich nutzen? Eine Lizenz ergänzt Bezahlfunktionen und finanziert die nächste Version. Lizenz kaufenLizenz kaufen, TablePro fördern

Elasticsearch-Client für Mac

Eine Konsole für Query-DSL-Anfragen und ein Raster, das jeden Index als Tabelle liest und Dokumente über ihre _id bearbeitet. Beides läuft ohne SQL: Jede Aktion ist eine REST-Anfrage an den Cluster.

Funktioniert auf MacDer Treiber wird heruntergeladen, wenn du Elasticsearch erstmals auswählst

Auf einen Blick

Abfragesprache
Query DSL
Treiber
Download bei der ersten Nutzung
Verbinden über
Host und Port, SSL/TLS
Standardport
9200
Mindestversion
7.x, dokumentiert
iPhone und iPad
Lässt sich nicht öffnen

Verbinden

Gib Host und REST-Port des Clusters ein und wähle eine Authentifizierungsmethode. Benutzername und Passwort sendet HTTP Basic. API-Schlüssel sendet das Feld im Header Authorization: ApiKey; füge daher den encoded-Wert aus der Antwort auf die API-Schlüsselerstellung ein. Die Option Keine eignet sich für einen Entwicklungscluster ohne Sicherheit. Eine Verbindung erreicht einen Cluster, daher hat das Formular kein Datenbankfeld.

Neue Verbindungen beginnen mit SSL Deaktiviert, also Klartext-HTTP. Jeder andere Modus nutzt HTTPS: Bevorzugt und Erforderlich (Prüfung überspringen) akzeptieren selbstsignierte Zertifikate; CA prüfen und Identität prüfen überprüfen sie. Elasticsearch 8.x aktiviert Sicherheit und TLS standardmäßig, daher benötigt ein 8.x-Cluster meist HTTPS und Zugangsdaten.

Indizes und Query-DSL-Konsole

Die Konsole nimmt Methode, Pfad und optionalen JSON-Body wie Kibana Dev Tools entgegen, etwa GET /orders/_search mit einer match-Abfrage. Suchtreffer werden als Zeilen angezeigt, _cat-Anfragen mit format=json und andere Array-Antworten als Tabelle, alles andere als formatiertes JSON. Der Endpunkt _sql ist nicht erreichbar.

Die Seitenleiste listet Indizes als Tabellen und verbirgt Namen, die mit einem Punkt beginnen. Spalten stammen aus dem Mapping: Objektfelder werden zu Punktpfaden wie address.city, ein verschachteltes Feld erhält eine JSON-Spalte für sein Array und eine Spalte pro Blatt. Jedes Dokument enthält _id, _index und _score.

Spaltenfilter werden zu term-, range-, wildcard-, terms- und exists-Abfragen. Die Filterzeile für direktes SQL nimmt Lucene-Syntax wie name:Widget entgegen, gesendet als query_string. Beim Sortieren eines text-Feldes wird dessen .keyword-Unterfeld verwendet, sofern das Mapping eines hat.

Rasteränderungen werden zu REST-Aufrufen über _id: _update für ein geändertes Dokument, _doc zum Erstellen oder Löschen. Gib einer neuen Zeile eine _id, um das Dokument zu benennen. Ändere verschachtelte Arrays über ihre JSON-Spalte; ein Wert in einer Blattspalte stoppt das Speichern, nennt die Spalte und sendet nichts.

Mappings

Mappings sind in TablePro schreibgeschützt. Leeren wird nicht angeboten, da die ähnlichste Funktion in Elasticsearch, _delete_by_query, asynchron läuft und Konflikte pro Dokument meldet; sende sie aus der Konsole. Das Löschen eines Index aus der Seitenleiste sendet die in der Bestätigung gezeigte DELETE-Anfrage.

Exportieren

Es gibt keinen Import. Exportieren liest einen ganzen Index mit einem Point-in-Time und search_after, ohne Begrenzung durch das Ergebnisfenster, und schreibt CSV, JSON oder XLSX.

iPhone und iPad

Die App für iPhone und iPad hat keinen Elasticsearch-Treiber. Vom Mac synchronisierte Elasticsearch-Verbindungen erscheinen in ihrer Liste, lassen sich aber nicht öffnen.

Grenzen

  • OpenSearch wird nicht unterstützt.
  • Aliasse und Datenstreams werden nicht in der Seitenleiste angezeigt. Sprich sie in der Konsole mit ihrem Namen an.
  • SSH-Tunnel werden nicht unterstützt.

Fragen zu Elasticsearch

Kann ich über das Ergebnisfenster hinaus blättern?

Ja. Beim Blättern über das Standardfenster von Elasticsearch hinaus wird auf search_after mit Point-in-Time gewechselt. Der Wechsel erfolgt am Standardwert; ein Index mit kleinerem max_result_window meldet vorher einen Fehler. Setze die Einstellung wieder auf den Standardwert.

Warum bleibt die Reihenfolge beim Sortieren nach _id gleich?

Elasticsearch kann nicht nach _id oder einem text-Feld ohne .keyword-Unterfeld sortieren, daher entfernt TablePro die Spalte aus der Sortierung. Füge dem Mapping ein keyword-Unterfeld hinzu oder sortiere nach einem keyword-Feld.

TablePro herunterladen

Die Mac-App kannst du kostenlos herunterladen und nutzen. Ein Starter- oder Team-Tarif ergänzt optionale Funktionen.
Für Mac herunterladen

Erfordert macOS 13 Ventura oder neuer