Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz



Ähnliche Dokumente
Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Übersicht. Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax

Lucene eine Demo. Sebastian Marius Kirsch 9. Februar 2006

Search Evolution von Lucene zu Solr und ElasticSearch

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

Suchen und Finden mit Lucene und Solr. Florian Hopf

Praktikum Information Retrieval Wochen 12: Suchmaschine

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Computerlinguistik im Service Management eine neue Suche für TOPdesk

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Übung - Datensicherung und Wiederherstellung in Windows 7

IAWWeb PDFManager. - Kurzanleitung -

Beheben von verlorenen Verknüpfungen

Übung - Arbeiten mit Android

Search Evolution von Lucene zu Solr und ElasticSearch. Florian

Task: Nmap Skripte ausführen

Erstellen eines Formulars

Übung - Datensicherung und Wiederherstellung in Windows Vista

Patselect Profil: Datenübernahme aus Patselect

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

DIE SUCHFUNKTION VON WINDOWS 7

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Tipps und Tricks zu Netop Vision und Vision Pro

MAPS.ME. Benutzerhandbuch!

SIZ Modul 221: Outlook und Internetdienste

Speichern. Speichern unter

Bedienungsanleitung CAD-KAS Reklamationserfassung. Einen neuen Datensatz anlegen. Klicken Sie auf das + Symbol, um einen neuen Datensatz anzulegen.

Erfolgreich suchen im Internet

Übung: Verwendung von Java-Threads

Outlook 2010 Daten importieren und exportieren

design kommunikation development

iphone-kontakte zu Exchange übertragen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

DredgerNaut. Manager. Verwalten Organisieren Planen. Version: 10-1 Stand: 2. März

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Lizenz Verwaltung. Adami Vista CRM

EKG Gerät. Softwareanleitung. 1. Gerät mit dem PC verbinden und suchen. 2. Gespeicherte Daten herunterladen und löschen.

Anwendungsbeispiele Buchhaltung

Lehrer: Einschreibemethoden

Übung - Datenmigration in Windows XP

e-books aus der EBL-Datenbank

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Informatik 12 Datenbanken SQL-Einführung

Installation des Add-Ins für Lineare Algebra in Microsoft Excel

Artikel Schnittstelle über CSV

Export von Kontaktdaten aus FDISK und Import in Outlook

Anforderungen an die HIS

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

PowerMover. Eine Zusatz-Anwendung für Outlook-PowerUser. Damit können eingehende s schneller verwaltet werden. Vasquez Systemlösungen

Im Anschluss finden Sie einige Tipps für die ersten Schritte mit häufigen Aufgaben. Erste Schritte Serie

Handbuch für Easy Mail in Leicht Lesen

Erstellen einer digitalen Signatur für Adobe-Formulare

Inhalt. Inhalt Voraussetzungen Liegenschaften und Adressen auswählen Abgleich mit Internet-Office Dokumente...

IntelliRestore Seedload und Notfallwiederherstellung

Was ist Leichte Sprache?

6.3 Serienbriefe über Microsoft Excel und Word

Navigieren auf dem Desktop

Installation des Zertifikats

- Google als Suchmaschine richtig nutzen -

GISA. Definition Spoolfiles

Erstellen und Bearbeiten von Inhalten (Assets)

Hilfe bei Adobe Reader. Internet Explorer 8 und 9

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Wie importiere ich mehrere Dateien gleichzeitig?

So wird s gemacht - Nr. 24

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Übersicht... 2 Dateiupload... 3 Administratorfunktionen... 4

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Step by Step Webserver unter Windows Server von Christian Bartl

Bauteilattribute als Sachdaten anzeigen

Daten am USB Stick mit TrueCrypt schützen

Was meinen die Leute eigentlich mit: Grexit?

32.4 Anpassen von Menüs und Symbolleisten 795i

Sichern der persönlichen Daten auf einem Windows Computer

Java für Computerlinguisten

Anleitung OpenCms 8 Webformular Auswertung

Kennen, können, beherrschen lernen was gebraucht wird

ACDSee 9 Foto-Manager

Installation und Bedienung von vappx unter Android

Anleitung Abwesenheitsmeldung und -Weiterleitung (Kundencenter)

Anleitung für IQES-Verantwortliche Persönliche Konten verwalten

Erstellen von Mailboxen

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

ABUS-SERVER.com. ABUS Security Center. Anleitung zum DynDNS-Dienst. Technical Information. By Technischer Support / Technical Support

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Datenbanken auf Sybase SQL-Anywhere

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Kurzeinführung Excel2App. Version 1.0.0

Macher Solutions Produktinformation SAP Crystal Reports 2011

Webmail. V Christof Rimle

FIS: Projektdaten auf den Internetseiten ausgeben

Einrichtung Secure-FTP

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Materialbuchungen erfassen und importieren.

OUTLOOK-DATEN SICHERN

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Transkript:

02_Grundlagen Lucene Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Was ist Lucene? (1) Apache Lucene is a high-performance, full-featured text search engine library written entirely in Java. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform. [Website: Apache Lucene - Overview, Okt. 2007] Frei unter der Apache License, auch für kommerzielle Anwendungen Funktionsprinzip: invertierter Index

Was ist Lucene? (2) 3

Snippet 1: Index erstellen + Dokument indizieren IndexWriter iw = new IndexWriter(new File(Verzeichnis), Analyzer, true); Document doc = new Document(); doc.add(new Field(Feldname, Feldinhalt, Store.NO, Index.TOKENIZED)); iw.adddocument(doc); iw.close(); iw.optimize(); 4

IndexWriter Package: org.apache.lucene.index Der IndexWriter erzeugt einen neuen Index oder kann einen vorhandenen Index öffnen. IndexWriter iw = new IndexWriter( directory, analyzer, create ); Er kann Dokumente zum Index hinzufügen und daraus entfernen. iw.adddocument( document ); iw.deletedocument( term ); Er kann keinen Index lesen oder durchsuchen. 5

Analyzer (1) Package: org.apache.lucene.analyzer Analyzer normalisieren die Texte, die indiziert werden, um die Vielfalt von Wörtern zu verringern. Er besteht aus einem Tokenizer, der einen Datenstrom in einzelne Tokens meistens Wörter zerlegt, und mehreren Filtern, die die Tokens letztendlich normalisieren. Es gibt unter anderem folgende mitgelieferte Tokenizer: LetterTokenizer Wörter werden durch nicht-buchstaben getrennt WhitespaceTokenizer Wörter werden durch sogenannte Whitespaces getrennt StandardTokenizer ein Tokenizer mit einem gewissen grammatikalischen Verständnis (z.b. werden E-Mail-Adressen und URLs erkannt) 6

Analyzer (2) Package: org.apache.lucene.analyzer... und folgende Filter: StandardFilter normalisiert Tokens, die mit dem StandardTokenizer erzeugt wurden StopFilter entfernt Stop-Wörter LowerCaseFilter alle Zeichen werden in Kleinbuchstaben umgewandelt SnowballFilter extrahiert die Wortstämme der einzelnen Tokens für unterschiedliche Sprachen unter anderem: Englisch (Porter-Stemmer) Deutsch, Niederländisch Französisch, Spanisch, Italienisch Schwedisch, Norwegisch Russisch Türkisch... 7

Document Package: org.apache.lucene.document Ein Dokument ist die Repräsentation eines (wie auch immer existierenden) Dokumentes (oder auch eines einfachen Datensatzes) im Index. Es besteht aus mehreren Feldern. (siehe Field) 8

Field Package: org.apache.lucene.document Felder enthalten Daten, die gesucht werden können oder weitere Informationen zum Dokument (z.b. den Dateinamen usw.). Die Art und Weise, wie ein Feld gespeichert wird, wird über 2 weitere Attribute festgelegt: Index. NO das Feld wird nicht indiziert TOKENIZED das Feld wird indiziert und durch den Analyzer normalisiert UN_TOKENIZED das Feld wird ohne Analyzer indiziert Store. COMPRESS das Feld wird binär gespeichert (z.b. Bilder) NO der ursprüngliche Feldinhalt wird nicht gespeichert (kann also nicht wiedergegeben werden, sondern nur rekonstruiert) YES das Feld wird gespeichert (eignet sich aber nur für Texte) 9

Snippet 2: In einem Index suchen IndexSearcher is = new IndexSearcher( Verzeichnis ); Query query = new QueryParser( Standard- Feldname, Analyzer ).parse( Querystring ); Hits hits = is.search( query ); for ( int i = 0; i < hits.length(); i++ ) { System.out.println(hits.doc(i).get(Feldname) + Relevanz: + hits.score(i)); } 10

IndexSearcher Package: org.apache.lucene.search Ein IndexSearcher bietet einen read-only Zugriff auf einen existierenden Index. Damit können ausschließlich Suchen durchgeführt werden. Beispiele: IndexSearcher is = new IndexSearcher( fsdir ); IndexSearcher is = new IndexSearcher( "C:/index" ); 11

IndexReader Package: org.apache.lucene.index Der IndexReader kann nicht nur Daten aus einem Index lesen, sondern auch Dokumente löschen. Zu den Daten, die gelesen werden können gehören: einzelne Dokumente einzelne Felder, Listen von Feldern Listen von Termen Häufigkeiten von Termen und diverse Index-Parameter IndexReader ir = is.getindexreader(); IndexReader.open( "d:/index" ); 12

Query Package: org.apache.lucene.search Mit Hilfe von Query-Objekten können Anfragen an einen IndexSearcher formuliert werden. Query Implementierungen: TermQuery sucht einen bestimmten Term BooleanQuery enthält eine Liste von boolesch Verknüpften Queries uvm. Beispiel: BooleanQuery bq = new BooleanQuery(); bq.add( new TermQuery( new Term("field", "content")), Occur.MUST ); 13

QueryParser Package: org.apache.lucene.queryparser Diese Klasse wandelt eine textuelle Suchanfrage in ein Query-Objekt um. Dabei gilt eine spezielle Syntax: Terme sind einzelne Worte, wie z.b. test oder hallo Durch titel:test oder content:test kann das zu durchsuchende Feld (Field) eingeschränkt werden Wildcards:? und *, z.b. te?t, test* oder te*t Unscharfe Suche: roam~ oder roam~0.8 Gewichtung von Termen: apache^4 oder test^0.1 Boolsche Operatoren: jakarta AND apache oder jakarte OR apache uvm. siehe http://lucene.apache.org/java/docs/queryparsersyntax.html 14

Hits Package: org.apache.lucene.search Die Klasse Hits beinhaltet eine sortierte List von Dokumenten, die als Ergebnis einer Suchanfrage zurückgegeben werden. Die wichtigsten Methoden sind: length() - Anzahl von Einträgen (Dokumenten) doc( int ) - Dokument an der angegebenen Position score( int ) - Relevanzbewertung der angegebenen Position 15

Aufgaben 1. Workspace in Eclipse importieren 2. Klasse Indexer vervollständigen & Index erstellen 3. Klasse Searcher vervollständigen & suchen, z.b. (a) international stock (b) +international +stock (c) international AND stock 16

Luke Lucene Index Browser http://www.getopt.org/luke/ 17