-------------------------------------------------------------------------------- Diese Shownotes wurden automatisiert aus extrahiert, siehe . -------------------------------------------------------------------------------- ## Movember 2015 Thema: Elasticsearch News: (Migration auf shownot.es?) Während Europa im Katastrophenmodus ist, wird die Überwachung hochgefahren - VDS - - Netzneutralität - Zwangsrouter - Zwangsentschlüsselungsvorschläge - vs .de soll "Verschlüsselungs-Standort Nr. 1 auf der Welt" werden IT4Refuges: - Elaticsearch (ca. 1h) ------------ Schnipp - fb, martin, t-lo notizen zur Sendung ------------ Vorbereitung Pentaradio 2015-11-24: **Elastic Search** Q: Warum Elastic Search? Warum nicht Dynamic Search oder irgendwas search? Geschichte zu Elasticsearch: Ich kenne die Geschichte hinter dem Namen nicht, würde search aber auf ursprünglich Volltextsuche beziehen, Elastic auf elastisches skalieren, ähnlich zu EC2 - Was meint Search? - Warum Elastic? - Ähnliche Projekte - Solr - Heliosearch - Sphinx - vormals: Fast (jetzt M\$ gekauft), Endeca, Blast (neofonie) u.a. - Welches Problem wird gelöst? - - Volltextsuche - Realtime Datenanalyse auf Log- und anderen Daten (meist mit Aggregationen (siehe Facetten/Drill Downs bei Webshops) ) - Key/Value Store - Intro-Beispiel: Suchmaschine Webshop. - Recommodation Ding (, bitte nicht als machine learning verkaufen, das sind Ansätze um Empfehlungssysteme (im Sinne von "welche Produkte zeige ich in meinem Webshop wann an, um potenzielle Käufer zum Kauf zu verlocken") zu bauen. Machine learning als Begriff ist IMHO ein Fall von "wenn das jemand hört, weiß jeder sofort worum es geht ohne Ahnung zu haben was es ist" was insb. außerhalb von Machine Learning Akademikerkreisen oft dazu führt, dass die Leute wunderhübsch aneinender vorbeireden.) - Wie funktioniert 'Suche'? - Warum sucht man? - Invertierter Index (Was ist das?) - so wie z. B. im Index/Stichwortverzeichnis im Buch - Lucene vorstellen - Wie füttert man ES mit Daten? - Dynamisches vs. vorgegebenes Mapping - - Was passiert dann? - Architektur von ES - @Thilo hier (Artikel solltest Du haben) hab ich mal den ganzen Sharding usw. Kram erklärt. Das interne Klassendiagramm von ES (falls das hier etwa mit Architektur gemeint ist) will keiner sehen, trust me. - Installation von ES - Daten laden - PUT API, Bulk API - in den meisten Fällen insb. für Logs aber Logstash - Was suchen - Cluster aufsetzen - Anekdote: Wie vermeide ich, dass mein Dev Notebook Elasticsearch von meinem Production Cluster Elasticsearch gefunden wird? Hint, hint: Man ändere mind. den Namen des Clusters. - ( oder als Video von offizieller Seite hier: ) - Verteiltes ES, advanced Features - Sharding - Unterscheide primary und replica shards. - Primary = in wieviele Teile wird der gesamtindex aufgeteilt, default = 5, jeder einzelne primary shard muss auf einen hostenden Knoten passen; je höher die Anzahl primary shards desto mehr Daten passen insg. in den Index, aber über desto mehr shards muss auch gesucht werden ( ); Anzahl primary shards verändert erfordert ein komplettes neu-indexieren der Daten im Index. - Replica = wieviele Kopien existieren pro Primary shard im Cluster. Anzahl kann jederzeit ohne Neuindexierung verändert werden. Cluster wird nur mit mind. einem replica shard als healthy angesehen ( ) - Aggregations - Ich fürchte das ist ein komplett eigener Podcast - Cluster - vielleicht erwähnen? - Plug-ins - viele community getriebene Plugins (z.B. kopf zur Visualisierung, , ; mit marvel (ES monitoring), watcher (alerting/notification), shield (security) inzw. auch einige komerzielle Plugins APIs - - stabile REST API, diverse Endpunkte für Java Plugin extensions Links: \* \* \* \* ------------- Schnapp - fb, martin, t-lo notizen ---------------------------- - Kurze Vorstellung des Themas/ (Gäste?) - Wie funktioniert Volltextsuche in Elasticsearch (Vom Webbrowser zur Suche und Zurück) - Schnittstelle - Verarbeitung der Sucheingabe (N-Gramm, Stemming) - TF/IDF, Lucene - Sortierung/Bewertung der Treffer - Elasticsearchterminolgie: - Dokumente - Typen - Indices - Verteilte Architektur - Clustering, Shards - Indexpartionierung - Netzwerkdiscovery - Andere Anwendungen (Neben Volltextsuche) - Zeitreihen - Geosuche - Coole Projekte/Erweiterungen: - Kibana - Logstash - Marvel - Wie kann ich Elasticsearch installieren/ausprobieren? - Bibliotheken - Percolator: - Dokumentation mit Volltextsuche: