RUHR-UNIVERSITÄT BOCHUM
 Universitätsbibliothek

 Projekt Integriertes Bibliotheksportal




Integration von Apache Solr in TouchPoint
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Was ist Lucene?


      (Java-)Framework zum Indizieren und Suchen
      Doug Cutting (@cutting)
      März 2000
      Aktuell: Version 3.0.1 (26.2.2010)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Was ist Solr?

      Schnelles, skalierbares Enterprise-Suchsystem
      Yonik Seeley (@lucene_solr)
      Ende 2004: CNET
      Anfang 2006: Apache Projekt
      Aktuell: Version 1.4 (10.11.2009)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Was ist Lucene/Solr?


      Seit 15. März 2010: Lucene- und Solr-Code und -Infrastrukturen
      verschmelzen
      Engere Koordination zwischen der Entwicklung von Lucene und Solr
      Neue Lucene-Funktionalitäten schneller in Solr
      Kürzere Release-Zyklen für Solr
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Funktionalitäten von Solr

      RESTful API
      Administrationsoberfläche; Monitoring über JMX
      Konfiguration über XML-Dateien
      Erweiterbar durch Plugin-Architektur
      Konfigurier- und erweiterbares Caching
      Skalierbar durch verteilte Indizes auf mehreren Rechnern
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Funktionalitäten von Solr

      Daten-Schema mit
       numerischen Typen
       eigenem Datums-Typ
       dynamischen Feldern
       eindeutigem Schlüssel pro Dokument (auch UUID als Feld-Typ)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Funktionalitäten von Solr

      Sprachliche Analyse
       Unterschiedliche Tokenizer (Leerraum, HTML, N-Gramme...)
       Filterung mit regulären Ausdrücken, phonetische Filter
       Porter-/Snowball-Stemmer für verschiedene Sprachen
       Stop-Wortlisten, Synonymlisten
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Funktionalitäten von Solr

      (Multiple) Navigatoren und Filter
      Hervorheben von Suchtermen
      Rechtschreibvorschläge
      Vorschläge für ähnliche Treffer
      Clustering von Suchergebnissen
      „Redaktionelles Ranking“ (aka „Best Bet“)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Funktionalitäten von Solr
      Einfaches XML-Format zum Indizieren
      Weitere Handler:
       CSVRequestHandler
       DataImportHandler (FieldReaderDataSource, FileDataSource,
       URLDataSource, JdbcDataSource)
       Solr Cell (= Apache Tika: Microsoft Office, PDF, ODF, RTF, HTML, XML,
       EPub, mbox...)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Skalierbarkeit von Solr


      UB Bochum: ca. 2,3 Mio Datensätze
      Beluga: ca. 4,7 Mio Datensätze
      Nationallizenzen: ca. 22 Mio Datensätze
       „Wir verarbeiten aktuell im Tagesdurchschnitt etwas mehr als 4 Such-
       Requests pro Sekunde (in Solr) und die Kiste langweilt sich zu Tode.“
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Skalierbarkeit von Solr
     Hathi Trust: ca. 5,3 Mio Volltexte (18.2.2010)
     Durchschnittliche Antwortzeit:  3 Sek,  90% der Anfragen in 4 Sekunden, 9%
     zwischen 4 und 24 Sek und 1% länger als 24 Sek
     Hardware: 4 Suchserver mit 1 Tomcat (16 GB Heapspace) und je 3
     „Partitionen“; 10 Partitionen aktiv
     1 Indexserver mit 12 Tomcats (jeweils 6 GB Heapspace) und 12 Partitionen;
     10 Partitionen aktiv
     Informationen: http://www.hathitrust.org/blogs/large-scale-search
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                        Flankierende Technologien

      solrmarc (http://code.google.com/p/solrmarc/)
      Apache Nutch (http://lucene.apache.org/nutch/)
      Alias-I LingPipe (http://alias-i.com/lingpipe/)
      carrot 2       (http://project.carrot2.org/)
      Apache Mahout (http://lucene.apache.org/mahout/)
      Apache Hadoop (http://hadoop.apache.org/)
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Support für Solr

      Lucidworks Certified Distribution For Solr
       Installer
       Zusätzliche Stemmer-Klassen
       Lucene Index Toolbox (Luke)
       LucidGaze for Solr
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Solr-Dokumentation
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Integration in TouchPoint
      Code-Basis: InfoGuide mit einer Schnittstelle für generische Datenquellen
      Implementierung von
       GenericServer,
       ResultHitlist,
       Result,
       DrillDowns,
       MoreLikeThis...
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                         Vielen Dank für Ihre Aufmerksamkeit!

                                                   Fragen?

                                            andre.hagenbruch@rub.de
RUHR-UNIVERSITÄT BOCHUM
Universitätsbibliothek

Integration von Apache Solr in TouchPoint




                                            Bildnachweis


      Titel: http://www.flickr.com/photos/59303791@N00/168921732/
      LucidWorks Reference: http://www.lucidimagination.com/Downloads/
      LucidWorks-for-Solr/Reference-Guide
      Lucene in Action: http://www.manning.com/hatcher3/
      Taming Text: http://www.manning.com/ingersoll/

Integration von Apache Solr in TouchPoint