Relevantes schneller finden – mit-Lucene und Solr

57
Relevantes schneller finden – mit Lucene und Solr © 2010 www.shi-gmbh.com Markus Klose SHI Elektronische Medien GmbH

description

by shi-gmbh.comEine sehr ausführliche und umfangreiche Einführung in den Search Server Apache Solr.Begriffserklärungen, Datenstruktur, Konfiguration, Caches, Schnittstellen, Datenimport, Architektur, ....

Transcript of Relevantes schneller finden – mit-Lucene und Solr

  • 1. Relevantes schneller finden mit Lucene und SolrMarkus KloseSHI Elektronische Medien GmbH 2010 www.shi-gmbh.com

2. Markus Klose Projektmanagement Requirements Engineering Trainer fr Solr 3. Wer ist SHI?Seit mehr als 15 Jahren auf dem Markt mit Enterprise SolutionsFocus: Infrastruktursoftware (ECM, Enterprise Search, BPM)ECM: Alfresco Authorized Partner seit 2008Enterprise Search: LucidImagination Authorized PartnerServices: Requirements Engineering, Individualsoftware, Training, etc. 4. berblick Klassische Suche Funktionen einer Solr Suche Begriffserklrungen Datenstruktur Was ist Lucene und was ist Solr ? Solr Konfiguration Solr Cache Solr Datenimport Solr Architekturen Solr Berechtigungen 5. Klassische SucheDie klassischen Suchen:- Datenbanksuche einer Applikation- Volltextsuche ber den Explorer- Suche in speziellen Anwendungen wie Outlook, CRM, - Per Hand ber mehrere AnwendungenBei den meisten Suchen gibt es dabei ein einfaches Suchfeld und eine sehr einfacheTrefferliste.Bei Datenbanksuchen oder Suchen in speziellen Anwendungen sind auch erweiterteSuchmasken verbreitet, bei denen in speziellen Feldern gesucht werden kann. 6. Funktionen einer Solr SucheEin moderner Solr Search Server bietet Suchfunktionen wie: Auto Suggest Did you mean Faceten Field Collapsing More like this Fast Highlighting (mit Term Vektoren) Deduplication Terms Clustering 7. Funktionen einer Solr SucheAuto SuggestLiefert eine Vorschlagsliste fr die eingegebenen Terme 8. Funktionen einer Solr SucheHighlighting Liefert einen Textausschnitt eines festgelegten Metafelds des jeweiligenTrefferdokuments Markiert die gesuchten Worter oder dessen Synonyme im Textauschnitt 9. Funktionen einer Solr SucheDid you mean Gibt Termvorschlge fr andere Schreibweisen eines Terms an Es knnen auch mehrere Vorschlge generiert werden 10. Funktionen einer Solr SucheFaceten Faceten zeigen Inhalte der aktuellen Treffer eines bestimmten Metafelds. Es wird auch angezeigt, wie viele Treffer den entsprechenden Term beinhalten. ber Filterqueries kann dann auf das entsprechende Metafeld eingeschrnkt werden. 11. Funktionen einer Solr SucheField Collapsing /Result Grouping Gruppiert die Treffer nach einem bestimmten Metafeld Zeigt an das es in dieser Kategorie auch noch weitere Treffer gibt 12. Funktionen einer Solr SucheMore like this Kann zu einem bestimmten Treffer hnliche Dokumente im Index finden Wird intern ber Termvectoren gelst 13. Funktionen einer Solr SucheDeduplication Versucht gleiche Dokumente bei der Indexierung herauszufiltern. Wird intern ber Termvectoren gelst. 14. Funktionen einer Solr SucheTerms Gibt alle Terme zu einem bestimmten Metafeld zurck. 15. BegriffserklrungenDokument Ist der wichtigste Bestandteil des Index Besteht aus einer Sammlung von Fields mit optionalen Boostfaktor Kann ein Word-Dokument, eine Web-Seite, ein Datenbankeintrag, sein Stellt zugleich den Treffer daField Besteht aus Freitext, Keywords, Datum, Nummern oder hnlichem Es ist auch mglich mehrere Values (Multivalue) in einem Field zu speichern Beispiel wre titel, author, 16. BegriffserklrungenStored Field Die Daten werden genauso wie Sie geliefert werden abgelegt, ohne analyse odervernderung. Ist wichtig fr Highlighting und Anzeigen in der TrefferlisteIndexed Fields Sind die Felder die spter durchsuchbar sein sollen oder in Facetten darstellbar Indexed Fields knnen nur in der Trefferliste angezeigt werden wenn Sie gleichzeitigauch stored sind 17. BegriffserklrungenQuery Stellt die Suchanfrage da Kann ein einfacher Term aber auch eine komplexe Anfrage seinBsp.: author:rmoderauthor:rm AND ( doctype:pdf OR doctype:doc) AND text:shi AND text:alfrescoFilter Query Eine Mglichkeit den Dokumentenbestand vor der eigentlichen Suche einzuschrnken 18. BegriffserklrungenTokenization Der Prozess um eine Textsequenz in einzelne Stcke oder Einheiten zu unterteilenTokenfilter Untersucht Tokens und kann diese nachtrglich noch bearbeitenTerm Das Ergebnis der TokenizationCharFilter Kann vor der Tokenization durchgefhrt werden Charbasierte Verarbeitung des Inputs 19. BegriffserklrungenFacet Dynamische Zhlung von in Kategorien eingeteilten SuchergebnissenInstance Eine laufende Solr ApplikationCore Eine virtuelle Solr Instanz Jede Solr Instance kann ein oder mehrere Cores besitzen Ein Core kann eine eigene Konfiguration und eigenen Index habenShard Ein durchsuchbarer Solr-Subindex Eine Query kann ber mehrere Shards suchen Keine globale Wertung mglich 20. BegriffserklrungenIndex Datenrepository in dem man suchen kann Lucene/Solr speichert die Daten als Inverted IndexSegment Teile des Gesamtindex An sich sind Segmente eigene kleine IndexeIndexierung Prozess des Hinzufgens von Dokumenten in den Index 21. DatenstrukturBeispiel: 05991 Augsburg Perl Java C C++ und C# 22. Datenstruktur Was ist ein inverted Index ? ID Title TermFreq Dokument Ids 1Was ist LuceneWas 31,2,4 2Was ist Solrist 31,2,4 3Warum Solr und nicht nur Lucene Lucene21,3 4Was ist ein Index Solr32,3,4 5Solr ArchitekturWarum 13und 13nicht 13nur 13ein 14Index 14Architektur 15 23. Datenstruktur Was ist ein inverted Index ? 24. Wie kann ber mehrere Felder gesucht werden ?Es gibt hierbei mehrer Mglichkeiten:Query erstellen title:solr OR text:SolrDismax / eDismax Queryparser Hier knnen Felder in denen gesucht werden soll explizit gesetzt werden. Intern erweiteret der Parser die QuerySuchfeld Es kann ein defaultSearchfield in der Konfiguration hinterlegt werden. Beim Indexieren werden dann alle Inhalte die durchsuchbar sein sollen in dieses Feld kopiert. 25. Was ist Lucene und was ist Solr? SolrLucene 26. Was ist Lucene und was ist Solr?Was ist Lucene? Eine Java basierende Open Source Library mit guten Indexierungs- undSucheigenschaften. Lucene ermglicht so schnelle und LeichtgewichtigeSuche und Indexierung 100% Java (Es gibt aber auch .Net, Perl und andere Versionen) Ausgereifte und stabile API Seit ber 10 Jahren regelmig abgestimmt und verbessert Sauber implementiert und leicht in andere Anwendungen einzubinden Kompakte und portable Index Darstellung Anpassbare Textanalyzers, Spracherkennung und Highlighting Es ist kein Crawler und kein Text Extractionstool (Also keine WordIndexierung oder Webseitencrawlen) 27. Was ist Lucene und was ist Solr?Was ist Solr? Ein Open Source Suchserver Solr indexiert verschiedene Contentquellen ( DB, Filesystem, ) Vollwertiger Suchserver mit Lucene als Engine Die Entwicklung startete 2004 bei der Firma CNET 2006 wurde Solr an Apache SF bergeben Solr ist eine Web basierende Applikation (Zugriff ber HTTP) Es gibt ein simples Webinterface fr alle Operationen Solr luft auf allen gngigen Servlet Containern (Tomcat, JBoss,WebSphere, ) 28. Was ist Lucene und was ist Solr?Warum Solr verwenden und nicht nur Lucene? Lucene ist lediglich eine Library Solr ist eine skalierbare Suchplattform und bietet eine komplette Infrastruktur Es gibt ein Admin Interface Es gibt ein Cache Management und Tools zur Replikation Logging Statistiken und vieles mehr 29. Solr KonfigurationSchema.xml Feldtypen Felder Copyfelder Tokenizer fr Suche und Indexierung Filter fr Suche und Indexierung Synonyms Regexp SnowballPorter 30. Solr KonfigurationSchema.xmlFeldtypen