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

Suchgetriebene Anwendungen mit Elasticsearch un...

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for exensio exensio
September 30, 2015

Suchgetriebene Anwendungen mit Elasticsearch und Solr

Talk at the data2day conference 2015 in Karlsruhe by Florian Hopf (@fhopf) and Tobias Kraft (@tokraft).

Avatar for exensio

exensio

September 30, 2015
Tweet

More Decks by exensio

Other Decks in Technology

Transcript

  1.  Suche ist mehr als Volltextsuche  Suche funktioniert im

    Kleinen wie im Großen  Suche kann auch bei klassischen Anwendungsfällen unterstützen Was wollen wir in diesem Vortrag zeigen http://www.morguefile.com/archive/display/861760
  2. Strukturiert Strukturierte vs. unstrukturierte Daten • Datenbanken • LDAP •

    Spreadsheets • (teilweise) Applikations- / API-Daten • Web Seiten • Email • Text- und Office- Dokumente • PDF-Dokumente • Log-Files Unstrukturiert Quelle: Search-Based Applications: At the Confluence of Search and Database Technologies
  3.  Daten-Silos  Konsolidierung Daten-Menge  Daten-Menge steigt immer weiter

     Skalierbarkeit  Häufige Änderungen  Flexibles Schema und Abfragen Probleme klassischer Applikationen
  4. Suchserver vs. Datenbank Eigenschaft Suchserver Datenbank Semantisches Modell Dokumenten-Modell Relationales

    Modell Speicherstruktur Index Tabelle Ablage der Daten Denormalisiert Normalisiert
  5.  Verarbeitung der Inputdokumente  Preprocessing vor der Ablage 

    Entfernen, modifizieren, hinzufügen von Termen Text-Analyzing
  6.  Invertierter Index  Inputfeld kann auf unterschiedliche Weise abgelegt

    werden  Suchterm zu Dokument zuordnen Der Indexaufbau
  7.  Dokumentenmodell  Datenablage anhand geplanter Abfragen  Duplizierte Datenablage

    Modellierung des Index http://www.morguefile.com/archive/display/12788
  8.  Inkrementell Indexieren  Änderungen auch im Cluster schnell verfügbar

    Near Realtime http://www.morguefile.com/archive/display/196583
  9. Master / Slave Infrastruktur mit Solr Master Load-Balancer Slave Slave

    Lesen Lesen Schreiben Lesen Slave Replikation
  10.  Master – Slave  Vorteile  Einfach aufzusetzen 

    Neue Knoten können einfach hinzugefügt werden  Nachteile  Daten stehen erst verzögert auf Slaves zur Verfügung  Keine Lösung für Index-Splitting  Ausfallsicherheit für schreibende Zugriffe Replizierung
  11. Node 2 otcdrug document Node 1 otcdrug document 1 1

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

    otcdrug document Datenverteilung in Elasticsearch mit Knoten und Shards 1 1 2 Replica: 1 Replica: 1 1' 3 4' 3' 4 1' 2' Neuer Knoten im Cluster
  13. Datenverteilung mit SolrCloud Apache Solr 1 mit Index Solr 2

    mit Index Zookeeper 1 Zookeeper 2 Zookeeper 3 SolrJ Client Server 3 Server 1 Server 2 Client Loadbalancer
  14. 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
  15.  Synchronisierung Systeme  Fehlersuche  Mehrere `Verursacher`  Nachstellen

    Produktionsprobleme  Entwicklungssetup Komplexität der Architektur steigt http://www.morguefile.com/archive/display/591261
  16.  Analyzing ist verlustbehaftet  Update einzelner Felder schwierig 

    Originalinhalt für Anpassungen weiter zugreifbar Daten http://www.morguefile.com/archive/display/183870
  17.  Testunterstützung ist vorhanden  SolrtestCaseJ4  Elasticsearch Test Framework

     Relevanz ist subjektiv  Analyzing-Prozess kann komplexer werden  Rollback in Tests Testbarkeit http://www.morguefile.com/archive/display/87396
  18. Was bringt die Umsetzung von Applikations-Logik auf Basis einer Suchmaschine?

     Abfragen sind teilweise einfacher  Flexibler für Erweiterungen  Performance-Vorteile  Neue Anwendungsszenarien Fazit