Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Die Suche macht den Unterschied

exensio
March 18, 2016

Die Suche macht den Unterschied

Vortrag auf der CeBIT bei der heise developer world (http://developerworld.heise.de/).
Die Beispiele und Anwendungsfälle basieren auf auf elasticsearch.

exensio

March 18, 2016
Tweet

More Decks by exensio

Other Decks in Technology

Transcript

  1. Die Suche macht den Unterschied
    heise developer world
    18.03.2016
    Tobias Kraft, exensio GmbH

    View Slide

  2. 2
    Anwendungsfälle
    Datenstruktur
    und Verteilung
    Fallstricke
    Motivation

    View Slide

  3. 3
    Ziele des Vortrages
    ● Suche ist mehr als
    Volltextsuche
    ● Suche funktioniert im
    Kleinen wie im Großen
    ● Suche kann bei klassischen
    Anwendungsfällen
    unterstützen
    http://www.morguefile.com/archive/display/861760

    View Slide

  4. 4
    Funktionen einer Suche

    View Slide

  5. 5
    Funktionen einer Suche
    Blätterung Sortierung
    Facettierung
    Unstrukturierte Suche
    Strukturierte Suche
    Highlighting
    Autocomplete
    Did you mean Synonyme

    View Slide

  6. 6
    Für Suchmaschinen gibt es viele Einsatzszenarien
    Volltextsuche
    Volltextsuche
    Datastore
    Query-Turbo
    Geo-Suche
    Logfile-Analyse
    Analytics

    View Slide

  7. 7
    Anwendungsfälle
    Datenstruktur
    und Verteilung
    Fallstricke
    Motivation

    View Slide

  8. 8
    Elasticsearch im Überblick
    ● Suchmaschine unter Apache 2 Open Source License
    ● Erstes Release 2010
    ● Mehrere Produkte
    ● Elastic Stack
    ● X-Pack
    ● Elastic Cloud
    ● Basiert auf Java
    ● Basiert auf Lucene
    ● JSON-API
    ● Schemalos
    ● Plugins

    View Slide

  9. 9
    Elasticsearch im Überblick
    ● Suchmaschine unter Apache 2 Open Source License
    ● Erstes Release 2010
    ● Mehrere Produkte
    ● Elastic Stack
    ● X-Pack
    ● Elastic Cloud
    ● Basiert auf Java
    ● Basiert auf Lucene
    ● JSON-API
    ● Schemalos
    ● Plugins

    View Slide

  10. 10
    Speichern von Daten in einer Suchmaschine
    Document Analyzing
    Mapping
    Struktur

    View Slide

  11. 11
    Near Realtime
    http://www.morguefile.com/archive/display/196583
    ● Inkrementell Indexieren
    ● Änderungen auch im Cluster schnell verfügbar
    ● Onlineabfragen für Facetting / Aggregationen

    View Slide

  12. 12
    ● Höhere Leselast
    ● Leichter Skalierbar
    ● Größere Datenmengen
    Verteilung der Daten
    http://mrg.bz/EFmkFQ

    View Slide

  13. 13
    Node 1
    otcdrug
    document
    1
    1 2
    3 4
    Replica: 0
    Replica: 0
    Datenverteilung in Elasticsearch mit Knoten und Shards

    View Slide

  14. 14
    Node 1
    otcdrug
    document
    Node 2
    otcdrug
    document
    1
    1 2
    3
    1‘
    4
    Replica: 1
    Replica: 0
    Neuer Knoten im Cluster
    Datenverteilung in Elasticsearch mit Knoten und Shards

    View Slide

  15. 15
    Node 1
    otcdrug
    document
    Node 2
    otcdrug
    document
    Node 3
    otcdrug
    document
    1
    1 2
    3
    1‘
    4
    1‘ 2‘
    3‘
    Replica: 1
    Replica: 1
    4‘
    Neuer Knoten im Cluster
    Datenverteilung in Elasticsearch mit Knoten und Shards

    View Slide

  16. 16
    Anwendungsfälle
    Datenstruktur
    und Verteilung
    Fallstricke
    Motivation

    View Slide

  17. 17
    Suche ist zentraler Bestandteil der Applikation
    Indexierungen
    Abfragen
    Pflege
    Verwaltung
    Anwendung
    Suchserver
    DB
    Weitere Systeme
    Dateisystem
    CMS

    View Slide

  18. 18
    Vereinheitlichung von verschiedenen Quellen
    News
    − title
    − message
    − created
    Document
    − filename
    − created
    Payload
    − binary
    Report
    − title
    − abstract
    − published
    Suchengine
    • Vereinheitlichung über Index
    • Entsprechendes Mapping
    Index-Prozess
    Relationale DB
    • Vereinheitlichung in einer
    Ansicht/Liste ist schwierig

    View Slide

  19. 19
    Listen für CRUD-Dialoge
    Geschäft Vertrieb

    View Slide

  20. 20
    Listen für CRUD-Dialoge
    Geschäft Vertrieb

    View Slide

  21. 21
    Listen für CRUD-Dialoge
    Geschäft Vertrieb Aussendienst

    View Slide

  22. 22
    Listen für CRUD-Dialoge
    Geschäft Vertrieb Aussendienst

    View Slide

  23. 23
    Facetten für den Drilldown von Events

    View Slide

  24. 24
    7 SQL-Abfragen für den Aufbau der Facetten …

    View Slide

  25. 25
    7 SQL-Abfragen für den Aufbau der Facetten …

    View Slide

  26. 26
    Facette mit Elasticsearch

    View Slide

  27. 27
    Facette mit Elasticsearch

    View Slide

  28. 28
    Marktanalysen Pharmamarkt – Starschema

    View Slide

  29. 29
    Marktanalysen Pharmamarkt – Suchmaschine

    View Slide

  30. 30
    Marktanalysen Pharmamarkt – Suchmaschine

    View Slide

  31. 31
    Marktanalysen Pharmamarkt - SellIn BU-/Linien-Ebene

    View Slide

  32. 32
    Competitive Intelligence als weiteres Einsatzszenario
    Beispiel Shop/Handel: Mapping bspw. über den Weinnamen, falls keine
    eindeutige ID wie EAN Code vorhanden ist

    View Slide

  33. 33
    Anwendungsfälle
    Datenstruktur
    und Verteilung
    Fallstricke
    Motivation

    View Slide

  34. 34
    ● Synchronisierung Systeme
    ● Fehlersuche
    ● Mehrere „Verursacher“
    ● Nachstellen
    Produktionsprobleme
    ● Entwicklungssetup
    ● Transaktionen
    Komplexität der Architektur steigt
    http://www.morguefile.com/archive/display/591261

    View Slide

  35. 35
    Transaktionen

    View Slide

  36. 36
    ● Daten
    ● Testbarkeit
    ● Betrieb
    Was sollte außerdem im Auge behalten werden?
    http://www.morguefile.com/archive/display/183870

    View Slide

  37. 37
    Fazit
    Was bringt die Umsetzung von Applikations-Logik
    auf Basis einer Suchmaschine?
    ● Abfragen sind teilweise einfacher
    ● Flexibler für Erweiterungen
    ● Performance-Vorteile
    ● Neue Anwendungsszenarien

    View Slide

  38. Partner:
    Fragen?
    Vielen Dank!
    http://blog.exensio.de
    @tokraft
    [email protected]

    View Slide