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

Search-Driven Applications

Search-Driven Applications

Usage of Search Engines (Solr, Elasticsearch) in traditional applications. Presentation at the Karlsruhe Entwicklertage 05-21-2014.

exensio

May 21, 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