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.
6. 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
7. 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
22. Sharding
Indexierung
• Verteilung von großen
Datenmengen
Shard 1 Shard 2
• Solr sucht über alle
Shards & fasst die
Ergebnisse zusammen
Searching
• Kein globaler TF-IDF
23. 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
24. 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
35. 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“
37. TF-IDF
• Scoring in 2 Phasen
– Boolsche Modell
– Vector Space Modell
• Relevanzalgorithmus
38. 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)
39. 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}
40. Ausblicke
• Solr Cloud
– Verteilte Suche mit zentraler Konfiguration
• Near Real Time Search
– Alternative Commit Strategie
• JOIN
– „Verknüpfung“ von Dokumenten