Apache Solr - Universität zu Köln

Werbung
Apache Solr
Einleitung
Features
Implementation
Verwaltung
Benutzung
Universität zu Köln
Sprachliche Informationsverarbeitung
Hauptseminar: Angewandte linguistische Datenverarbeitung
Dozent: Prof. Dr. Jürgen Rolshoven
Referent: Patrick Pelinski
ALD:HS – WiSe 2011/2012
Apache Solr
1
Gliederung
•
Apache Solr – Beschreibung, Hintergrund, Motivation
•
Features
•
Funktionsweise und Implementation
Verwaltung
•
Verwaltung durch Admin User-Interface
Benutzung
•
Benutzung und eigene Implementation
Einleitung
Features
Implementation
ALD:HS – WiSe 2011/2012
Apache Solr
2
Apache Solr - Beschreibung
•
Einleitung
Features
Ursprünglich (2004) eigenständige Suchplattform für CNET
Networks-Intranet
•
Seit 2006/2007: Open-Source Suchplattform
•
Integriert Apache Lucene Core und Apache Tika (seit 3.4)
•
Verschmelzung von Lucene und Solr seit 2011 zu
Implementation
Verwaltung
Benutzung
einheitlicher Versionisierung (seitdem 3.1)
•
Suchmaschine, gleichzeitig aber auch Suchframework
•
Geschrieben in Java
•
27.11.2011: Apache Solr 3.5.0 veröffentlicht
ALD:HS – WiSe 2011/2012
Apache Solr
3
Apache Solr - Motivation
•
Isolierte Suchmaschine für gezielte Einsatzzwecke (eigene
Einleitung
Projekte, Datenbankobjekte auswerten,
Features
Informationsextraktion etc.)
Implementation
•
Verwaltung
Benutzung
Keine ausschließliche Verwendung von Nur-Text
Informationen, sondern auch strukturierten Dokumenten
•
Dedizierter Einsatzzweck, aber auch Implizierter möglich
•
Auswertung von individuellen Informationen (Named
Entities)
•
Idealerweise als Suchanwendung für Webseite mit hohem
Traffic
ALD:HS – WiSe 2011/2012
Apache Solr
4
Apache Solr - Features
Einleitung
•
Volltext-Suchmaschine
•
Web-Schnittstelle
Features
•
Indizierung mittels HTTP-Request
•
Suchanfragen per HTTP-GET
Implementation
Verwaltung
•
Resultate in XML oder JSON
•
Clustering
•
Datenbankintegration
•
Vielzahl von Dokumententypen werden
Benutzung
unterstützt (durch Apache Tika)
•
Hohe Skalierung durch verteilte Suchund Indizierungsreplikation
•
Mehrdimensionale Suche
ALD:HS – WiSe 2011/2012
Apache Solr
5
Apache Solr - Implementation
•
Definition des Schemas in der Schema.xml
•
Integration in einen Webserver und Servlet-
Einleitung
Features
Implementation
Verwaltung
Benutzung
Container (z.B. Apache Tomcat)
•
An Apache Solr Dokumente schicken, die durchsucht werden sollen
•
Integration in die eigene Anwendung, um Suchergebnisse
auszuwerten (nicht unbedingt), ansonsten Auswertung über Admin
Userinterface
ALD:HS – WiSe 2011/2012
Apache Solr
6
Apache Solr - Implementation
•
(nur wenn Commit!)
Einleitung
Features
•
Grundlage der Indizierung bilden sogenannte Felder, in denen
Dokumente abstrahiert werden
Implementation
Verwaltung
Erhält Solr ein neues Dokument, indiziert es im Anschluss den Index
•
Solr kennt verschiedene Feldtypen, die ähnlich wie bei
Programmiersprachen typisiert werden
Benutzung
•
Felder können definiert und kopiert und zusätzlich dynamisch (wenn
es keine gibt) oder als einzigartig gekennzeichnet werden
ALD:HS – WiSe 2011/2012
Apache Solr
7
Apache Solr - Implementation
•
umgegangen wird (solrconfig.xml)
Einleitung
Features
Implementation
Verwaltung
Benutzung
Über Field Analyzer definiert Solr, wie mit einzelnen Datentypen
•
Dabei verwendet Solr folgende Mittel
•
Analyzer (übernimmt Felder)
•
Tokenizer (generiert Tokenstream)
•
Filter (entscheidet, ob Tokens akzeptiert oder verworfen werden)
ALD:HS – WiSe 2011/2012
Apache Solr
8
Apache Solr - Implementation
•
Tokenizer und Filter können auch Sprachgebunden arbeiten
Einleitung
Features
Implementation
Verwaltung
Benutzung
ALD:HS – WiSe 2011/2012
Apache Solr
9
Apache Solr - Verwaltung
•
Solr kann durch das Admin Userinterface verwaltet werden
Einleitung
Features
Implementation
Verwaltung
Benutzung
ALD:HS – WiSe 2011/2012
Apache Solr
10
Apache Solr - Benutzung
•
Einleitung
Solr kann auf unterschiedliche Art und Weise benutzt werden:
•
übergeben (curl, wget, etc.)
Features
Implementation
•
Solr Cell (ExtractingRequestHandler): Übergabe von
strukturierten und binären Dokumenten
Verwaltung
Benutzung
HTTP-POST: Dokumente werden als JSON, XML oder CSV
•
HTTP-GET: Resultate können als XML, JSON oder sogar als Code
(Ruby, Python, PHP …) angefordert werden
•
Kann durch Plug-ins erweitert werden (z.B. als Webservice in
Java)
•
Implementation in eigener Java-Anwendung auf Basis von SolrJ
(Solr Java Client API)
•
Direktimport aus Datenbanken mittels Data Import-Handler
ALD:HS – WiSe 2011/2012
Apache Solr
11
Apache Solr
Vielen Dank
Einleitung
Features
fürs Zuhören!
Implementation
Verwaltung
Benutzung
Literatur:
-
http://de.wikipedia.org/wiki/Lucene
-
http://en.wikipedia.org/wiki/Apache_Solr
-
http://lucene.apache.org/solr/
-
http://wiki.apache.org/solr/
-
http://lucidworks.lucidimagination.com
ALD:HS – WiSe 2011/2012
Apache Solr
12
Herunterladen