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

Search-Driven Applications

exensio
April 03, 2014

Search-Driven Applications

Usage of Search Engines (Solr, Elasticsearch) in traditional applications. Presentation at the Berlin Expert Days 2014.

exensio

April 03, 2014
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 • 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 unter- schiedliche 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

    • Onlineabfragen für Facetting / Aggregationen Near Realtime http://www.morguefile.com/archive/display/196583
  9. Suche ist zentraler Bestandteil der Applikation Anwendung DB CMS Weitere

    Systeme Suchserver Indexierungen Abfragen Pflege Verwaltung Dateisystem
  10. 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 ?
  11. • Synchronisierung Systeme • Fehlersuche • Mehrere `Verursacher` • Nachstellen

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

    Originalinhalt für Anpassungen weiter zugreifbar Daten http://www.morguefile.com/archive/display/183870
  13. • 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
  14. Was bringt die Umsetzung von Applikations-Logik mit Suchmaschinen? • Abfragen

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