Elasticsearch ist eine verteilte Such- und Analysemaschine auf Basis von Apache Lucene (Shay Banon, seit 2010). Daten werden als JSON-Dokumente in Indizes gespeichert und über einen invertierten Index blitzschnell durchsucht. Die eigentliche Arbeit läuft über die REST-API auf Port 9200; die Kommandozeilen-Tools im bin/-Verzeichnis (meist /usr/share/elasticsearch/bin) dienen der Administration.
Wichtige bin-Tools
- elasticsearch: startet einen Node —
elasticsearch -dals Daemon,-p pidfileschreibt die Prozess-ID - elasticsearch-keystore: verwaltet verschlüsselte Einstellungen —
create,add,list,remove(Passwörter, API-Keys) - elasticsearch-plugin: Erweiterungen installieren/auflisten/entfernen —
elasticsearch-plugin install analysis-icu - elasticsearch-node / elasticsearch-shard: reparieren beschädigte Shards oder entfernen korrupte Daten
- elasticsearch-certutil: erzeugt TLS-Zertifikate, elasticsearch-users verwaltet native Benutzer und Rollen
REST-API mit curl
curl -X GET 'localhost:9200/_cat/indices?v'
curl -X PUT 'localhost:9200/produkte'
curl -X POST 'localhost:9200/produkte/_doc' -H 'Content-Type: application/json' -d '{"name":"Kaffee","preis":12.5}'
curl 'localhost:9200/produkte/_search?q=kaffee'
Die _cat-Endpunkte liefern kompakte Tabellen (Indizes, Nodes, Shards), _search führt Suchanfragen aus. Für komplexere Abfragen schickt man das Query DSL als JSON-Body — etwa boolesche Kombinationen, Filter oder Aggregationen.
Praxis-Tipps
- Ein Index ist in Shards aufgeteilt (Primär- und Replica-Shards) — das ermöglicht horizontale Skalierung.
- Ab Version 8 sind Sicherheit (TLS, Passwörter) und der Keystore standardmäßig aktiv.
- Logstash übernimmt das Einsammeln, Kibana die Visualisierung — zusammen der ELK-Stack.
Verwandte Grundlagen: MongoDB-Befehle, CouchDB-Befehle, Cassandra-Befehle, InfluxDB-Befehle, ClickHouse-Befehle, curl/wget-Befehle, YAML/TOML/JSON-Befehle.