183 lines
6.4 KiB
Plaintext
183 lines
6.4 KiB
Plaintext
--------------------------------------------------------------------------------
|
|
Diese Shownotes wurden automatisiert aus <https://pads.ccc.de/C3D2-Pentaradio>
|
|
extrahiert, siehe <https://gitea.c3d2.de/xyrill/pentaradio-historic-shownotes>.
|
|
--------------------------------------------------------------------------------
|
|
|
|
## Movember 2015
|
|
|
|
Thema: Elasticsearch
|
|
|
|
News:
|
|
|
|
(Migration auf shownot.es?)
|
|
|
|
<https://shownot.es/doc/pentaradio-328/edit/>
|
|
|
|
Während Europa im Katastrophenmodus ist, wird die Überwachung
|
|
hochgefahren
|
|
|
|
- VDS
|
|
- <http://www.heise.de/newsticker/meldung/Bericht-Grossbritannien-plant-Vorratsspeicherung-auch-von-Inhaltsdaten-2866494.html>
|
|
- Netzneutralität
|
|
- Zwangsrouter
|
|
- Zwangsentschlüsselungsvorschläge
|
|
- vs .de soll "Verschlüsselungs-Standort Nr. 1 auf der Welt" werden
|
|
<http://www.heise.de/newsticker/meldung/IT-Gipfel-De-Maiziere-macht-sich-fuer-Ende-zu-Ende-Verschluesselung-stark-2923866.html>
|
|
|
|
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:
|
|
<http://thedudeabides.com/articles/the_future_of_compass/>
|
|
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?
|
|
- <https://www.elastic.co/guide/en/elasticsearch/guide/current/intro.html>
|
|
- Volltextsuche
|
|
- Realtime Datenanalyse auf Log- und anderen Daten (meist mit
|
|
Aggregationen (siehe Facetten/Drill Downs bei Webshops)
|
|
<https://www.elastic.co/blog/intro-to-aggregations> )
|
|
- Key/Value Store
|
|
|
|
|
|
|
|
- Intro-Beispiel: Suchmaschine Webshop.
|
|
- Recommodation Ding (<https://github.com/MaineC/recsys>, 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 -
|
|
<https://www.elastic.co/blog/found-elasticsearch-mapping-introduction>
|
|
- Was passiert dann?
|
|
- Architektur von ES
|
|
- @Thilo hier
|
|
<http://www.heise.de/ct/ausgabe/2014-10-Verteilte-Suche-mit-Elasticsearch-2172389.html>
|
|
(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.
|
|
- <https://www.elastic.co/guide/en/found/current/preflight-checklist.html>
|
|
(<http://asquera.de/opensource/2012/11/25/elasticsearch-pre-flight-checklist/>
|
|
oder als Video von offizieller Seite hier:
|
|
<https://www.elastic.co/webinars/elasticsearch-pre-flight-checklist>
|
|
)
|
|
|
|
|
|
|
|
- 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
|
|
(<https://www.elastic.co/guide/en/elasticsearch/guide/current/kagillion-shards.html>
|
|
); 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 (
|
|
<https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html>
|
|
)
|
|
- Aggregations
|
|
- Ich fürchte das ist ein komplett eigener Podcast
|
|
- Cluster
|
|
- vielleicht
|
|
<https://www.elastic.co/guide/en/elasticsearch/guide/current/_important_configuration_changes.html#_minimum_master_nodes>
|
|
erwähnen?
|
|
- Plug-ins
|
|
- viele community getriebene Plugins (z.B. kopf zur Visualisierung,
|
|
<https://github.com/lmenezes/elasticsearch-kopf>,
|
|
<https://github.com/jprante/elasticsearch-jdbc>; 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:
|
|
\* <https://www.elastic.co/products/elasticsearch>
|
|
\* <https://github.com/MaineC/recsys>
|
|
\* <https://en.wikipedia.org/wiki/Elasticsearch>
|
|
\* <https://de.wikipedia.org/wiki/Elasticsearch>
|
|
|
|
------------- 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:
|
|
<https://www.elastic.co/guide/en/elasticsearch/reference/current/search-percolate.html#search-percolate>
|
|
- Dokumentation mit Volltextsuche:
|
|
<https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html>
|
|
|