21
Apache Lucene Mach’s wie Google! Bernd Fondermann freier Software Architekt [email protected] [email protected] 1 Sonntag, 25. Mai 2008

Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Embed Size (px)

Citation preview

Page 1: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache LuceneMach’s wie Google!

Bernd Fondermannfreier Software [email protected]@apache.org

1Sonntag, 25. Mai 2008

Page 2: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache

• Apache Software Foundation

• Software “free of charge”

• Betonung liegt auf der Community

• Apache Software License

• Free + Open + Source

• problemlos in Closed Source verwendbar

• siehe ASF Session um 16:50 Uhr

2Sonntag, 25. Mai 2008

Page 3: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Was macht Google, eigentlich?

3Sonntag, 25. Mai 2008

Page 4: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

ohne Freitextsuche

• Navigation in Bäumen

• Titel des gesuchten Dokumentes ist wesentlicher Anhaltspunkt

• öffnen vieler Dokumente, die nicht gesucht wurden

• zeitaufwendig

• alle Aktionen werden vom User ausgeführt

• Erwartungshaltung des Users: “googeln”

4Sonntag, 25. Mai 2008

Page 5: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

mit Freitextsuche

• alle Treffer auf einer Ebene, keine Bäume

• Treffer innerhalb von Dokumenten

• relevante Treffer sind schnell zugänglich

• Vorschau erlaubt direktes Filtern

5Sonntag, 25. Mai 2008

Page 6: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Ablauf einer Freitextsuche

• vor der Suche (Computerprogramm)

• Texte (Webseiten) finden und einlesen (Crawler)

• ‘Index’ aufbauen

• Index speichern und bereitstellen

• Webseite mit Suchformular

6Sonntag, 25. Mai 2008

Page 7: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Ablauf einer Freitextsuche

• während der Suche

• Suchanfrage eingeben (User)

• Stichworte entgegennehmen (Computer)

• daraus eine Suchanfrage bilden

• Index durchsuchen (schnell!)

• Ergebnisse nach Relevanz sortieren

• Ergebnis, inkl. Vorschau anzeigen

7Sonntag, 25. Mai 2008

Page 8: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Lucene Produkte

Apache LuceneSuchmaschinen-

Framework, Index

Apache Nutch Crawler + Indexer

Apache Solr Suchmaschinen-Server

8Sonntag, 25. Mai 2008

Page 9: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache Lucene Features

• Indizieren von beliebigen Business-Daten

• Ablage in speziellen Files

• Formulierung von Suchanfragen

• Durchführung der Suche (Finden)

• Rückgabe der Ergebnisse, Ranking

9Sonntag, 25. Mai 2008

Page 10: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Eigene Daten einspeisen

• Text, Text, Text

• HTML, XML

• PDF, Office-Formate

• Product {Name, Datum, Beschreibung, Attribute, Typ}

• File {Name, Content, Kind-Files}

10Sonntag, 25. Mai 2008

Page 11: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Sucheanfragen

• ‘premium’, ‘ “top five” ‘

• ‘premium special‘, ‘premium OR special‘

• ‘premium AND -name:premium‘

• ‘pre*’, ‘pre~’

• ‘datum:[20070101 TO 20081231]’

11Sonntag, 25. Mai 2008

Page 12: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Ergebnisaufbereitung

• Ranking der Ergebnisse

• Fundstellen in wichtigen Feldern: ‘boosten’

• Vorschau der Fundstellen in Fließtexten

12Sonntag, 25. Mai 2008

Page 13: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache Nutch

• Crawler und Indexer

• durchsucht HTML Seiten automatisch

• extrahiert die relevanten Informationen

• folgt Links

• speist Ergebnisse in Lucene ein

13Sonntag, 25. Mai 2008

Page 14: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache Solr

• Such-Server Komplettlösung

• Crawling, Indexing, Caching, Updating

• Administrations-Interface

• Optimierungen für High-Load

• Plug-in Architektur

• eigene Dokumente per XML einspeisen

14Sonntag, 25. Mai 2008

Page 15: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Community & Support

• Lucene ist Quasi-Standard bei Such-APIs

• Support auf den öffentlichen Mailing-Listen

• sehr aktives Projekt

• derzeit kein kommerzieller Service

• Einfluß auf Projekt durch aktive Mitarbeit

15Sonntag, 25. Mai 2008

Page 16: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Lucene Limits

• kein verteilter, replizierter Index

• keine “Meinten Sie?” Funktion

• keine Algorithmen zur schnellen Analyse großer Datenmengen

16Sonntag, 25. Mai 2008

Page 17: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

verwandte Apache Produkte

Apache Hadoop verteiltes Filesystem

Apache Hadoop Map/Reduce

Apache Mahout Maschinenlernen

Apache Pig Analyse großer Datenmengen

17Sonntag, 25. Mai 2008

Page 18: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache Hadoop

• verteiltes, redundantes Filesystem HDFS

• verteilt über Rechner, Racks, Datacenter

• beliebig viele Live-Kopien, kein Offline-Backup nötig

• große Datenmengen, effizient laden

• verteilte Datenbank HBase

• Map/Reduce: Distributed Computing

18Sonntag, 25. Mai 2008

Page 19: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Apache Mahout

• maschine learning

• neues Projekt

• implementiert herausragende ML-Algorithmen

• auf Basis von Map/Reduce

• experimentell = noch keine Integration in Lucene

19Sonntag, 25. Mai 2008

Page 20: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

ML-Algorithmen

“Meinten Sie?”anhand der vielen

Suchanfragen

Autocompletionanhand der beliebtesten

Suchanfragen

Naive Bayes Spam-Detection

20Sonntag, 25. Mai 2008

Page 21: Apache Lucenepeople.apache.org/~berndf/openexpode08-lucene-talk.pdf · Apache Nutch Crawler + Indexer Apache Solr Suchmaschinen-Server Sonntag, 25. Mai 2008 8. Apache Lucene Features

Vielen Dank!

• http://lucene.apache.org

• http://hadoop.apache.org

• http://incubator.apache.org/pig

• http://apache.org

• http://lucene.apache.org/mahout

• Fragen und Antworten

21Sonntag, 25. Mai 2008