Slide 1

Slide 1 text

Search-Driven Applications Florian Hopf, freiberuflicher Softwareentwickler Tobias Kraft, exensio GmbH

Slide 2

Slide 2 text

Agenda Anwendungsfälle Aufbau der Such-Datenstruktur Fallstricke Motivation

Slide 3

Slide 3 text

Was ist Suche?

Slide 4

Slide 4 text

• 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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

• Daten-Silos  Konsolidierung Daten • Daten-Menge steigt immer weiter  Skalierbarkeit • Häufige Änderungen  Flexibles Schema und Abfragen Probleme klassischer Applikationen

Slide 7

Slide 7 text

Suchserver vs. Datenbank Eigenschaft Suchserver Datenbank Semantisches Modell Dokumenten-Modell Relationales Modell Speicherstruktur Index Tabelle Ablage der Daten Denormalisiert Normalisiert

Slide 8

Slide 8 text

Search-Driven Applications Suche ist Kernbestandteil Suchserver als zentraler Lesespeicher

Slide 9

Slide 9 text

Agenda Anwendungsfälle Aufbau der Such-Datenstruktur Fallstricke Motivation

Slide 10

Slide 10 text

Vom Inhalt zum Index Document Analyzing Aufbau Struktur

Slide 11

Slide 11 text

Input-Dokumente

Slide 12

Slide 12 text

• Verarbeitung der Inputdokumente • Preprocessing vor der Ablage • Entfernen, modifizieren, hinzufügen von Termen Text-Analyzing

Slide 13

Slide 13 text

Beispiel Text-Analyzing Suchgetriebene Suchgetriebene Applikationen Applikationen suchgetriebene applikationen suchgetrieb applikation Source Standard Tokenizer Lowercase Filter German-Light- Stem-Filter

Slide 14

Slide 14 text

• Invertierter Index • Inputfeld kann auf unter- schiedliche Weise abgelegt werden • Suchterm zu Dokument zuordnen Der Indexaufbau

Slide 15

Slide 15 text

Die Indexstruktur suchgetrieb applikation Doc 1 Doc 2 enterpris Doc 1 Doc 2 Kraft Doc 1 Hopf Doc 1 Doc 2

Slide 16

Slide 16 text

Das Mapping

Slide 17

Slide 17 text

• Dokumentenmodell • Datenablage anhand geplanter Abfragen • Duplizierte Datenablage Modellierung des Index http://www.morguefile.com/archive/display/12788

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Agenda Anwendungsfälle Aufbau der Such-Datenstruktur Fallstricke Motivation

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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 ?

Slide 22

Slide 22 text

Listen für CRUD-Dialoge Geschäft Vertrieb

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

Facetten für den Drilldown von Events

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

Facette mit Elasticsearch

Slide 27

Slide 27 text

Anwendungsfälle für E-Commerce

Slide 28

Slide 28 text

Der Suchserver rückt in den Mittelpunkt Anwendung DB Suchserver Abfragen

Slide 29

Slide 29 text

Der Suchserver rückt in den Mittelpunkt Anwendung DB Suchserver Abfragen

Slide 30

Slide 30 text

Kategorien-Navigation Bücher /Bücher Bücher/Fachbücher /Bücher/Fachbücher /Bücher /select?q=*:*&facet=on&facet.field=category&rows=0

Slide 31

Slide 31 text

Produktlisting /select?q=*:*&fq=category:/Bücher/Fachbücher/Informatik &sort=inStock desc, price asc

Slide 32

Slide 32 text

Agenda Anwendungsfälle Aufbau der Such-Datenstruktur Fallstricke Motivation

Slide 33

Slide 33 text

• Synchronisierung Systeme • Fehlersuche • Mehrere `Verursacher` • Nachstellen Produktionsprobleme • Entwicklungssetup Komplexität der Architektur steigt http://www.morguefile.com/archive/display/591261

Slide 34

Slide 34 text

Transaktionen

Slide 35

Slide 35 text

• Analyzing ist verlustbehaftet • Update einzelner Felder schwierig • Originalinhalt für Anpassungen weiter zugreifbar Daten http://www.morguefile.com/archive/display/183870

Slide 36

Slide 36 text

• 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

Slide 37

Slide 37 text

Betrieb • Security • Separate Installation • Verfügbarkeit • Verteilte Logfiles • Monitoring

Slide 38

Slide 38 text

Was bringt die Umsetzung von Applikations-Logik mit Suchmaschinen? • Abfragen sind teilweise einfacher • Flexibler für Erweiterungen • Performance-Vorteile • Neue Anwendungsszenarien Fazit

Slide 39

Slide 39 text

Vielen Dank! Florian Hopf, @fhopf Tobias Kraft, @tokraft Mehr Interesse an Suche? @KASearch

Slide 40

Slide 40 text

meet the SPEAKER @speakerlounge 1. OG DIREKT ÜBER DEM EMPFANG