Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Tech Talk Apache Lucene  Peter Pakula Köln, 16.12.2008
Inhalt <ul><li>Lucene Überblick </li></ul><ul><li>Funktionsweise von Volltextsuchmaschinen </li></ul><ul><li>Core-Klassen ...
Lucene Überblick <ul><li>Lucene ist eine Bibliothek für die Volltextsuche </li></ul><ul><li>Open Source Software (Apache L...
Funktionsweise von Volltextsuchmaschinen <ul><li>Grundlage für Suchmaschinen sind Methoden des Information Retrieval </li>...
Funktionsweise von Volltextsuchmaschinen
Funktionsweise von Volltextsuchmaschinen <ul><li>Indizieren </li></ul><ul><li>Stoppwörtereliminierung </li></ul><ul><li>Gr...
Funktionsweise von Volltextsuchmaschinen <ul><li>Suchen </li></ul><ul><li>Bei der Abfrage werden Methoden aus der Indexers...
Core-Klassen von Lucene Eine typische Implementierung mit Lucene Quelle: Lucene in Action
Core-Klassen von Lucene Indizierung <ul><li>IndexWriter = Zentrale Komponente zum Erstellen des Index (nur zum Schreiben) ...
Core-Klassen von Lucene  Parser zur Indizierung <ul><li>Der Entwickler muss dafür sorgen, dass für alle relevanten Dokumen...
Core-Klassen von Lucene Suchen <ul><li>IndexSearcher = Zentrale Komponente zum suchen im Index </li></ul><ul><li>Query = A...
Core-Klassen von Lucene Abfrage <ul><li>Terms = „test“ and „hello dolly“ </li></ul><ul><li>Fields = title:“Do it right“ AD...
Live-Demo Quelle: https://duke.dev.java.net/images/tshirts/TShirt2003LoRes.jpg
Weitere Quellen <ul><li>Bücher </li></ul><ul><ul><li>Otis Gospodnetic, Erik Hatcher: Lucene in Action. , Manning Publicati...
Vielen Dank <ul><li>„ Wie man Informationen sammelt, verwaltet und verwendet, wird darüber entscheiden, ob man zu den Gewi...
Nächste SlideShare
Wird geladen in …5
×

Tech Talk Lucene

845 Aufrufe

Veröffentlicht am

TechTalk von Peter Pakula (DLR Köln-Porz, 16.12.2008).

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Tech Talk Lucene

  1. 1. Tech Talk Apache Lucene Peter Pakula Köln, 16.12.2008
  2. 2. Inhalt <ul><li>Lucene Überblick </li></ul><ul><li>Funktionsweise von Volltextsuchmaschinen </li></ul><ul><li>Core-Klassen von Lucene </li></ul><ul><li>Live-Demo </li></ul><ul><li>Weitere Quellen </li></ul>
  3. 3. Lucene Überblick <ul><li>Lucene ist eine Bibliothek für die Volltextsuche </li></ul><ul><li>Open Source Software (Apache License) </li></ul><ul><li>100%-pure Java </li></ul><ul><li>Implementierung in Programmiersprachen </li></ul><ul><ul><li>(C++, .NET, C, Python, PHP, Perl, Delphi, Ruby) </li></ul></ul><ul><li>Aktuelle Version 2.4.0 (8. Oktober 2008) </li></ul><ul><li>Erste Version 0.01 (März 2000) </li></ul><ul><li>Eingesetzt in : Eclipse IDE, Encyclopedia Britannica </li></ul><ul><li>Eingesetzt von: FedEx, Hewlett-Packard usw. </li></ul>
  4. 4. Funktionsweise von Volltextsuchmaschinen <ul><li>Grundlage für Suchmaschinen sind Methoden des Information Retrieval </li></ul><ul><li>Information Retrieval ist ein Fachgebiet, das sich mit computergestütztem inhaltsorientierten Suchen beschäftigt. </li></ul><ul><ul><li>Gegenstand ist also die Suche nach und in Dokumenten </li></ul></ul><ul><ul><li>Retrieval (deutsch: Wiedergewinnung) </li></ul></ul>
  5. 5. Funktionsweise von Volltextsuchmaschinen
  6. 6. Funktionsweise von Volltextsuchmaschinen <ul><li>Indizieren </li></ul><ul><li>Stoppwörtereliminierung </li></ul><ul><li>Grund- und Stammformreduzierung (Stemming) </li></ul><ul><li>Thesaurus: Synonyme </li></ul>
  7. 7. Funktionsweise von Volltextsuchmaschinen <ul><li>Suchen </li></ul><ul><li>Bei der Abfrage werden Methoden aus der Indexerstellung wie &quot;Stop-Wort-Entfernung&quot; oder &quot;Stemming&quot; wiederverwendet. </li></ul>
  8. 8. Core-Klassen von Lucene Eine typische Implementierung mit Lucene Quelle: Lucene in Action
  9. 9. Core-Klassen von Lucene Indizierung <ul><li>IndexWriter = Zentrale Komponente zum Erstellen des Index (nur zum Schreiben) </li></ul><ul><li>Directory = repräsentiert den Ort des Index </li></ul><ul><ul><li>Dateisystem, RAM, Datenbank </li></ul></ul><ul><li>Analyzer = Stoppwörtereliminierung, Stemming </li></ul><ul><li>Document = repräsentiert durch eine Kollektion von Feldern </li></ul><ul><li>Feld = Jedes Dokument enthält mindestens ein Feld, </li></ul><ul><ul><li>z.B author, title, content </li></ul></ul>
  10. 10. Core-Klassen von Lucene Parser zur Indizierung <ul><li>Der Entwickler muss dafür sorgen, dass für alle relevanten Dokumente Parser bereit gestellt werden. </li></ul>Quelle: Lucene in Action
  11. 11. Core-Klassen von Lucene Suchen <ul><li>IndexSearcher = Zentrale Komponente zum suchen im Index </li></ul><ul><li>Query = Abstrakte Klasse für Anfragen </li></ul><ul><li>TermQuery = Eine konkrete Query Klasse die auf bestimmten Feldern sucht. </li></ul><ul><li>Hits = repräsentiert die Ergebnisse </li></ul>
  12. 12. Core-Klassen von Lucene Abfrage <ul><li>Terms = „test“ and „hello dolly“ </li></ul><ul><li>Fields = title:“Do it right“ AD right </li></ul><ul><li>Wildcard = „?“ und „*“ </li></ul><ul><li>Fuzzy = roam~0.8 (default 0.5) </li></ul><ul><li>Proximity = „jakarta apache“~10 </li></ul><ul><li>Range = modified:[20020101 TO 20030101] </li></ul><ul><li>Boosting = jakarta^4 apache </li></ul><ul><li>Boolean Operators = OR, AND, NOT </li></ul><ul><li>Grouping = (jakarta OR apache) AND website </li></ul>
  13. 13. Live-Demo Quelle: https://duke.dev.java.net/images/tshirts/TShirt2003LoRes.jpg
  14. 14. Weitere Quellen <ul><li>Bücher </li></ul><ul><ul><li>Otis Gospodnetic, Erik Hatcher: Lucene in Action. , Manning Publications 2005 </li></ul></ul><ul><ul><li>Wolfgang G. Stock: Information Retrieval, Oldenbourg Wissenschaftsverlag 2007 </li></ul></ul><ul><li>Links </li></ul><ul><ul><li>http://lucene.apache.org/ </li></ul></ul><ul><ul><li>http://de.wikipedia.org/wiki/Information_retrieval </li></ul></ul><ul><ul><li>http://lucene.apache.org/java/2_3_2/queryparsersyntax.html </li></ul></ul>
  15. 15. Vielen Dank <ul><li>„ Wie man Informationen sammelt, verwaltet und verwendet, wird darüber entscheiden, ob man zu den Gewinnern oder Verlierern gehört.“ </li></ul><ul><li>Bill Gates </li></ul>

×