www.wikidata.de-de.nina.az
Elasticsearch ist eine Suchmaschine auf Basis von Lucene Das in Java geschriebene Programm speichert Dokumente in einem NoSQL Format JSON Die Kommunikation mit Klienten erfolgt uber ein RESTful Webinterface Elasticsearch ist neben Solr der am weitesten verbreitete Suchserver 4 Er ermoglicht auf einfache Weise den Betrieb im Rechnerverbund zur Umsetzung von Hochverfugbarkeit und Lastverteilung 5 ElasticsearchBasisdatenEntwickler ElasticErscheinungsjahr 2010Aktuelle Version 8 11 3 1 12 Dezember 2023 Betriebssystem plattformunabhangigProgrammiersprache JavaKategorie SuchserverLizenz Server Side Public License 2 3 Elastic License 2 3 www elastic co elasticsearchElasticsearch Konfiguration der Wikipedia Server Inhaltsverzeichnis 1 Lizenzierung 2 OpenSearch Abspaltung 3 Physischer Aufbau 4 Funktionsweise 4 1 Dokumente Typen und Indizes 4 2 Suchanfragen 4 3 Kommunikation mit der REST API 4 4 Indexierung 5 Literatur 6 EinzelnachweiseLizenzierung BearbeitenElasticsearch und Kibana unterliegen der kostenlosen Server Side Public License Fur Cloudangebote hingegen ist die kostenpflichtige Elastic License notwendig Das Unternehmen Elastic NV hatte 2018 die Lizenzierung unter Open Source Lizenz auf Lebenszeit versprochen 6 es folgte dem Open Core Model das heisst der Kern der Software unterlag Open Source Lizenzen hauptsachlich Apache License 2 0 andere Teile standen unter der kommerziellen Elastic License 7 Entgegen der Ankundigung von 2018 wurden mit der 2021 veroffentlichten Version 7 11 die Open Source Lizenzen durch die Server Side Public License ersetzt die keine Open Source Lizenz ist weil sie keine Cloudangebote erlaubt Elastic machte Amazon Web Services fur diese Anderung verantwortlich und beanstandete deren Verwendung von Elasticsearch in der Vergangenheit 8 9 OpenSearch Abspaltung Bearbeiten Hauptartikel OpenSearch Software 2021 veroffentlichten AWS Logz io Red Hat SAP und Capital One eine Abspaltung unter dem Namen OpenSearch die das Projekt unter der Apache 2 0 Lizenz fortfuhren 10 11 Elastic hat daraufhin die Elasticsearch Clients so geandert dass sie Verbindungen mit OpenSearch Servern verweigern und nur noch Elasticsearch Server erlauben 12 Dagegen funktionieren die OpenSearch Clients sowohl mit OpenSearch als auch mit Elasticsearch Servern 13 Physischer Aufbau BearbeitenElasticsearch zerteilt jeden Index in mehrere Stucke so genannte shards Scherben Bruchstucke Die shards eines Indexes konnen vom Anwender bei Bedarf auf mehrere Server nodes aufgeteilt werden die Gruppe heisst cluster um die Rechenlast zu verteilen oder um Serverausfalle zu kompensieren Lauft die Suchmaschine auf mehreren nodes so wird einer als master node der Gruppe bestimmt Ein shard ist ein Lucene Index Elasticsearch nutzt Apache Lucene fur die Indexierung und Suche als core library Ein Elasticsearch Index besteht also aus mehreren Lucene Indizes Ein Lucene Index besteht aus einem Ordner mit Dateien die einen invertierten Index beinhalten Funktionsweise BearbeitenDokumente Typen und Indizes Bearbeiten Die kleinste Einheit mit der gearbeitet wird sind Dokumente englisch documents Jedes Dokument das durchsucht werden soll muss zuvor indiziert werden Sollen beispielsweise Informationen zu Buchern durchsuchbar gemacht werden konnten die Informationen uber jedes einzelne Buch in jeweils ein Dokument geschrieben werden welches anschliessend indexiert werden muss Ein Index entspricht dabei in etwa einer SQL Tabelle ein Dokument einer Zeile dieser Tabelle Jedoch sind die Anzahl und Typen der Felder nicht notwendigerweise starr vorgegeben konnen aber bei Bedarf durch eine Typzuweisung englisch mapping explizit typisiert werden Um indiziert werden zu konnen mussen die Dokumente im JSON Format an Elasticsearch gesendet werden Als JSON Dokumente bestehen sie jeweils aus einem Satz an Paaren von Schlusseln und Werten Ein Beispiel fur ein Dokument das ein Buch beschreiben soll titel Granatenstarke Suchmaschinentechnologie autor Michael Kafer erscheinungsjahr 1794 verlag Muller Verlag Suchanfragen Bearbeiten Auch die Suchanfragen englisch queries werden als JSON Dokumente an Elasticsearch gesendet Obiger Beispieldatensatz wurde beispielsweise von folgender Suchanfrage gefunden werden query match titel suchmaschinentechnologie Der wichtigste Bestandteil einer Suchanfrage ist der Parameter query sein Inhalt bestimmt welche Dokumente in welcher Reihenfolge gefunden werden sollen weitere sind die Parameter size bestimmt die maximale Anzahl an Treffern from dient der Aufteilung langer Trefferlisten auf mehrere Seiten source ermoglicht es nicht ganze Dokumente als Resultate zu erhalten sondern nur bestimmte Felder dieser Dokumente und sort ermoglicht eine alternative vom Benutzer definierbare Sortierung der Ergebnisse Einer Anfrage query konnen verschiedene Parameter zugeteilt werden Einige Beispiele match all findet alle Dokumente match titel granatenstarke findet alle Dokumente mit granatenstarke im Feld titel multi match query granatenstarke source titel autor findet alle Dokumente mit granatenstarke im Feld titel oder im Feld autor bool must match titel quick must not match titel lazy should match titel brown match titel green im titel Feld muss quick vorkommen im titel Feld darf lazy nicht vorkommen im titel Feld sollte idealerweise brown oder green vorkommenKommunikation mit der REST API Bearbeiten Sowohl fur die Indexierung der JSON Dateien als auch fur Suchanfragen wird mit der REST API von Elasticsearch kommuniziert Es gibt verschiedene Moglichkeiten diese Kommunikation durchzufuhren Die am weitesten verbreitete und am besten dokumentierte ist Dokumente und Suchanfragen mit Verwendung des Programms cURL an die REST API zu senden Weiter bieten sich verschiedene Programme an etwa Postman die benutzerfreundlich zu dieser Art der Kommunikation fahig sind aber auch die Kommunikation uber selbst erstellte Skripte in den gangigen Programmiersprachen Ein Beispiel in dem das obige JSON Dokument mit cURL uber ein Terminal an den Server gesendet wird auf dem Elasticsearch lauft curl X PUT 78 47 143 252 9200 materialienzusuchmaschinen buecher 1 pretty d titel Granatenstarke Suchmaschinentechnologie autor Michael Kafer erscheinungsjahr 1794 verlag Muller Verlag Dem Index in den das Dokument geladen wird gibt man in diesem Beispiel den Namen materialienzusuchmaschinen dem Typ den Namen buecher Sind ein Index und ein Typ dieses Namens nicht ohnehin bereits vorhanden so werden sie automatisch neu erstellt Das gesendete Dokument wird unter der hier ebenfalls angegebenen ID 1 abgelegt Indexierung Bearbeiten Schickt man ein Dokument zur Indexierung startet Elasticsearch einen Analyseprozess englisch analysis wahrend das Dokument fur den Index aufbereitet wird Dabei wird der zu indexierende Text des Dokuments umgewandelt damit spater die daraus gewonnenen Resultate in den Index geschrieben werden konnen Zuerst wird der Text an definierten Stellen wie Leerzeichen oder Kommas in die einzelnen Worter zerlegt etwa Granatenstarke Suchmaschinentechnologie in Granatenstarke und Suchmaschinentechnologie Die Buchstaben jedes einzelnen dieser Worter werden anschliessend vollstandig in Kleinbuchstaben umgewandelt etwa Granatenstarke in granatenstarke Es folgen noch weitere Schritte daruber hinaus ist es moglich eigene Umwandlungsstufen einzubauen Zum einen speichert Elasticsearch die Resultate des Analyseprozesses etwa granatenstarke im Index ab zum anderen werden die ursprunglich geschickten Originaldokumente an einem anderen Ort gespeichert Literatur BearbeitenRadu Gheorghe Matthew Lee Hinman Roy Russo Elasticsearch in Action Version 17 Manning 2015 ISBN 978 1 61729 162 3 Clinton Gormley Zachary Tong Elasticsearch The definitive guide 1 Auflage O Reilly 2015 ISBN 978 1 4493 5854 9 Madhusudhan Konda Elasticsearch in Action Second Edition Manning 2023 ISBN 978 1 6172 9985 8Einzelnachweise Bearbeiten Release 8 11 3 12 Dezember 2023 abgerufen am 19 Dezember 2023 a b Upcoming licensing changes to Elasticsearch and Kibana 14 Januar 2021 a b github com DB Engines Ranking of Search Engines Stand April 2016 Oliver B Fischer Volltextsuche mit ElasticSearch In heise Developer 26 Juli 2013 abgerufen am 6 Juni 2015 We Opened X Pack Elasticsearch B V 2018 archiviert vom Original am 31 Juli 2019 abgerufen am 22 August 2022 englisch Open Source Distributed RESTful Search Engine Contribute to elastic elasticsearch development by creating an account on GitHub elastic 14 Marz 2019 abgerufen am 14 Marz 2019 Elastic Amazon NOT OK why we had to change Elastic licensing In elastic co 19 Januar 2021 abgerufen am 21 Januar 2021 Elastic Amazon ist schuld am Open Source Ende In heise online 20 Januar 2021 abgerufen am 21 Januar 2021 OpenSearch gegen Elasticsearch Amazons Fork Klatsche In heise online 13 April 2021 abgerufen am 14 April 2021 OpenSearch auf GitHub Elastic Hits Back at OpenSearch Making Client Libraries Incompatible with Amazon led Open Source Fork 11 August 2021 abgerufen am 22 August 2022 englisch Keeping clients of OpenSearch and Elasticsearch compatible with open source 4 August 2021 abgerufen am 22 August 2022 englisch Normdaten Sachbegriff GND 1090810776 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Elasticsearch amp oldid 238890183