Jax 2012 - Apache Solr as Enterprise Search Platform
 

Jax 2012 - Apache Solr as Enterprise Search Platform

on

  • 1,251 views

http://www.shi-gmbh.com...

http://www.shi-gmbh.com
Die Informationsmengen in Unternehmen vervielfachen sich mit rasantem Tempo. Zudem sind Unternehmensinformationen oft auf eine Vielzahl unterschiedlicher IT-Systeme verteilt. Auf der anderen Seite ist ein schneller, zuverlässiger Zugriff auf die Gesamtheit der relevanten Informationen von zunehmender strategischer Bedeutung. Enterprise Search umfasst alle Informationstechnologien, die einen schnellen Zugriff auf verteilte und heterogenen Informationsquellen unternehmensweit ermöglichen. In diesem Vortrag wird der bekannte Suchserver Apache Solr im Kontext von Enterprise Search beleuchtet. Die damit verbundenen Herausforderungen wie Berechtigungen, Indexierung und Relevanz werden genauer betrachtet. Darüber hinaus werden verschiedene im Apache-Solr-Umfeld relevante Technologien und Frameworks sowie Best Practices vorgestellt, mit denen eine Enterprise-Search-Lösung schnell zum Erfolg gebracht werden kann.

Statistics

Views

Total Views
1,251
Views on SlideShare
1,250
Embed Views
1

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 1

http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Jax 2012 - Apache Solr as Enterprise Search Platform Jax 2012 - Apache Solr as Enterprise Search Platform Presentation Transcript

  • Apache Solr als Enterprise Search Plattform
  • Markus Klose - SHI• Projektmanagement• Requirements Engineering• Certified Solr Trainer• Enterprise Solution• Infrastruktursoftware• Beratung / Implementierung
  • Agenda• Enterprise Search• Solr Basics• Herausforderungen & Lösungen• Ausblicke
  • Enterprise Search85% aller Firmen haben auf weniger als50% aller ihrer Daten Zugriff (Google)
  • Enterprise Search
  • Enterprise Search mit Solr• Open Source vs. Kommerziell• Solr – Relevanz-Algorithmus (TF-IDF) – Kein Vendor-Lock – Zugriff auf Source Code – Aktive Community – Keine Lizenzgebühren / Kosten – Performance
  • Solr Basics• Solr … – … Framework für Such Applikationen – … nutzt Lucene – … Infrastruktur (Cache, Analyzer etc.) – … konfigurierbar (customizing) – … läuft in allen gängigen Servlet Containern – … aktuelle Version 3.6
  • Solr Basics • Solr Architektur – Konfigurationen – RequestHandler – ResponseWriter – UpdateHandler – ReplicationHandler – ….
  • Solr BasicsKonfiguration• solr.xml – Konfiguration meherer Cores• solrconfig.xml – Handler / SearchComponents etc. – Caching / Index Settings• schema.xml – Felder / Typen / Analyze
  • Solr BasicsHTTP Requests• Indexierung – http://host:8983/solr/update/csv?stream.file=data.csv&strea m.contentType=text/plain;charset=utf-8• Suche – http://host:8983/solr/select?q=baseball&fq=type:pdf&sort=titl e asc• Administration (SWAP) – http://host:8983/solr/admin/cores?action=SWAP&core=live& other=test
  • Solr BasicsSolr Ökosystem – Hadoop: Verteiltes Dateisystem – Mahout: Data-Mining – Tika: Metadaten Indexierung – Nutch: Web Crawler – ManifoldCF: Repository Connector – Pypes – Verarbeitungs Pipeline (Python) – RabbitMQ - Messaging System
  • Herausforderungen• Anbindung versch. Datenquellen• Verteilte / heterogene Systeme• Berechtigungen• Relevanz / Precision & Recall• Mehrsprachigkeit• Einheitliche Suche• etc.
  • HerausforderungenAnbindung verschiedener Datenquellen• Indexierung - Solr• Indexierung - DataImportHandler• Indexierung - Clients• Indexierung - externe Tools
  • Indexierung - Solr
  • Indexierung - DIH• Bestandteile – DataSource – EntityProcessor – Transformator• Use Cases – Datenbanken – Feeds (RSS/ATOM) & XML Dateien – Rich Content – Mail Server
  • Indexierung – Clients• Java (SolrJ) Apache Solr PHP Client• JavaScript• PHP• Ruby• C# (SolrNet)• Python
  • Indexierung – externe Tools• Nutch• Heritrix• ManifoldCF – … Sharepoint, Documentum …• Google Connector Framework
  • HerausforderungenVerteilte Systeme / Skalierbarkeit• Replikation• Sharding• Unique IDs
  • BasisarchitekturIndexierung • Eine Instanz übernimmt Solr sowohl die Indexierung als auch die Suche Suche
  • IndexierungReplication• Hohes Volumen an Suchanfragen Master• 1 Master mit N Slaves Slave 1 Slave2• Delta Replikation möglich• Konfigurationsdateien können repliziert werden Suche
  • Master-Slave-Konfiguration
  • Sharding Indexierung • Verteilung von großen DatenmengenShard 1 Shard 2 • Solr sucht über alle Shards & fasst die Ergebnisse zusammen Searching • Kein globaler TF-IDF
  • Sharding & Replication Indexierung• Flexibles Szenario Master 1 Master 2• Große Datenmengen und hohes Aufkommen von Suchanfragen Slave 11 Slave 12 Slave 21 Slave 22 Suche
  • Unique IDs• Update / Deletes / Verteilte Systeme• Solr FieldType solr.UUIDField• Basistypen nutzen• Typische Fehler – ID nicht einzigartig -> weniger im Index – ID nicht reproduzierbar -> verschiedene Versionen im Index
  • HerausforderungenHeterogene Systeme / Mehrsprachigkeit• Deduplikation• Solr - Konfiguration – Dismax/eDismax• Schema - Konfiguration – Analyse (Tokenizer / Filter) – Dynamische Felder – Copy Fields
  • Deduplikation• Doppelte Dokumente im Index• schema.xml• solrconfig.xml
  • Dismax / eDismax• DisMax – Disjunction Maximum• extrem variabel einsetzbar• versucht immer etwas zurückzuliefern
  • Analyse• Feldzentrische Verarbeitung des Inhalts – Tokenizer – Tokenfilter – CharFilter
  • Schema - Konfiguration• Dynamische Felder• Copy Field• Default Werte
  • HerausforderungenEinheitliche Suche / Berechtigung• AutoSuggest• Facetten• DidYouMean• Clustering / Field Collapsing• Berechtigungen
  • AutoSuggest• Vorschlag des zu suchenden Begriffs
  • Facetten• Gruppierung der Ergebnismenge• Navigationselement
  • DidYouMean• Wortvorschlag, basierend auf dem Index• „Meinten Sie“ - Fuktionalitäten
  • Clustering• Alternative Darstellung der Trefferliste
  • Search - Berechtigungen• Kein Standard• Beispiel: ActiveDirectory bei SHI – Index: zusätzliche Information – Suche: zusätzliche FilterQuery Auth.jsp fq= q=jax&fq=… q=jax allow:“12-33-45-7“ Solr AND Response Response -deny:“12-33-45-7“
  • HerausforderungenRelevanz / Precision & Recall• TF-IDF• Sortierung / Function Queries• Boosting• Syntax
  • TF-IDF• Scoring in 2 Phasen – Boolsche Modell – Vector Space Modell• Relevanzalgorithmus
  • Sortierung / Function Queries• Sortierung – default ist Score – Konstantes Scoring bei *:*, Range und fq – Beispiel: sort=titel asc,author desc• Function Queries – Beeinflussung des Ranking (bf/boost Parameter oder sort) – Beispiel: recip(ms(NOW,mydatefield),3.16e-11,1,1)
  • Syntax• Query -> q• FilterQuery ->fq• Boolean Operatoren -> OR, AND, NOT, +, -• Phrasen -> “Harrison Ford”~5• Wildcard -> fi?m, film*• Fuzzy -> Hale*0.9• Boost -> q=star OR trek^4.0• Range -> preis:[1 TO 10] oder preis:{1 TO 10}
  • Ausblicke• Solr Cloud – Verteilte Suche mit zentraler Konfiguration• Near Real Time Search – Alternative Commit Strategie• JOIN – „Verknüpfung“ von Dokumenten
  • Weiterführende Informationen• Solr – Wiki (http://wiki.apache.org/solr) – Jira (https://issues.apache.org/jira/browse/SOLR) – Mailinglist (http://lucene.apache.org/solr/mailing_lists.html)• Websites – SHI (http://www.shi-gmbh.com/blog) – Lucid Imagination (http://www.lucidimagination.com)
  • Demo / Q & AVielen Dank für Ihr Interesse