Vom dokument parser zum lucene index
-
Upload
josiane-g -
Category
Technology
-
view
760 -
download
2
description
Transcript of Vom dokument parser zum lucene index
![Page 1: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/1.jpg)
Vom Dokument-Parser zum Lucene Index.
Josiane Gamgo
Maerz 2009
![Page 2: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/2.jpg)
Vorbereitung der Index-Suche 2
Agenda
Indizierungsprozess: Übersicht
Dokument-Parser
Das Lucene Dokument
Indizierungstechniken
Die Lucene Index Datenstruktur
![Page 3: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/3.jpg)
Vorbereitung der Index-Suche 3
Indizierungsprozess: Übersicht
ParserInput Lucene Dokument
Analyzer
Inverted IndexIndex
![Page 4: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/4.jpg)
Vorbereitung der Index-Suche 4
Dokument-Parser
Arbeitsweise
Dokumentenhandler
Beispiel einen PDF Parser: PDFBOX
Adaptierbarkeit
![Page 5: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/5.jpg)
Vorbereitung der Index-Suche 5
Arbeitsweise
Interface DocumentHandler implementieren Neue Instanz der Parser erzeugen Neue Instanz von org.apache.lucene.document.Document Zu parsende Dokument öffnen Attribute und Werte zu Lucene Dokument einfügen Geparste Dokument schließen
![Page 6: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/6.jpg)
Vorbereitung der Index-Suche 6
Arbeitsweise
InputStreamInterface DocumentHandler
Lucene Dokument
ParserInterface DocumentHandler
extends
Lucene Dokument
Inside the Documenthandler
![Page 7: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/7.jpg)
Vorbereitung der Index-Suche 7
Dokumentenhandler
Die Klasse DocumentHandler()
Public class parserTyp implements DocumentHandler{...}
public interface DokumentHandler {
/** * Erzeugt ein Lucene Dokument aus ein InputStream * */
Document getDocument(InputStream is)
throw DocumentHandlerException;
}
![Page 8: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/8.jpg)
ParseDocument(InputStream)
PDF Dokument
MemorycosDoccosDoc ....
DecryptDocument(cosDoc)
PDFTextstripperPDFTextstripper
Text
Metadata
Document
LucenePDFDocument
![Page 9: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/9.jpg)
Vorbereitung der Index-Suche 9
Adaptierbarkeit
classHandlercollector
ParserGrammatik
Class Lparser extends Handlercollector{}
![Page 10: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/10.jpg)
Vorbereitung der Index-Suche 10
Das Lucene Dokument
Aufbau
Datenstruktur
Index Erstellung mit mapReduce
![Page 11: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/11.jpg)
Vorbereitung der Index-Suche 11
Aufbau
Zu jedem zu parsende Datei eine
org.apache.lucene.document.Document Instanz.
private Document doc;
Mit DokumentHandler: Text Inhalte extrahieren und
Instanz von Lucene Dokument erstellen.
Beispiel: Erstellung von Lucene Dokument mit SAX.
![Page 12: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/12.jpg)
Vorbereitung der Index-Suche 12
Datenstruktur
LuceneHTMLDokument
Factory-Methode indexed tokenized storedField.Text(String, String) x x x
Field.Text(String, Reader) x x
Field.KeyWord(String,date) x x
Field.UnIndexed(String, String) x
Field.Unstored(String,String) x x
![Page 13: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/13.jpg)
Vorbereitung der Index-Suche 13
Datenstruktur
LucenePDFDocument
Bemerkung
für Indexupdate wichtig
für inkrementelle Indizierung
Der eigentliche Inhalt
Die ersten 500 Zeichen
Field indexed tokenized storedUrl x Url lokal oder im Netz
modified x
uid x
content x x
Summary x
![Page 14: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/14.jpg)
Vorbereitung der Index-Suche 14
Index Erstellung mit MapReduce
...
Parser
Parser
Parser
...
A-f G-p Q-z
A-f G-p Q-z
A-f G-p Q-z
...
InverterInverter
Inverter
Inverter
A-f
G-p
Q-z
master
...
MapPhase Segment Files Reduce Phase
Disk
![Page 15: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/15.jpg)
Vorbereitung der Index-Suche 15
Indizierungstechniken
Was ist IR(Information Retrieval)?
Indizierungstechniken in der IR
Lucene Indizierungstechnik
Vergleich
![Page 16: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/16.jpg)
Vorbereitung der Index-Suche 16
Was ist IR?
Verlorene Informationen wiedergewinnen
Bedürfnis nach Informationen innerhalb von
großen Datenmenge erfüllen.
![Page 17: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/17.jpg)
Vorbereitung der Index-Suche 17
Indizierungstechniken in der IR
Signatur Dateien
Suffix-Arrays
Invertierte Listen
![Page 18: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/18.jpg)
Vorbereitung der Index-Suche 18
Signatur Dateien
Zerlegung der Dokumente in ungefähr die gleiche größe.
Erstellung einer Signatur Datei mittels Hashfunktion.
Anfrage = Boolesche UND oder ODER Verknüpfung
block1 block2Heute ist Montag
001 010
001 + 010 = 011
Rosenmontag in Bayern
h(block1) h(block2)
Suche nach: Montag AND Rosenmontag
![Page 19: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/19.jpg)
Vorbereitung der Index-Suche 19
Suffix-Arrays
Suffixe eines Dokument speichern
Representation der Suffixe in eine Baum Struktur, in Lexicographischer Reihenfolge
Suche nach ”ra”
![Page 20: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/20.jpg)
Vorbereitung der Index-Suche 20
Invertierte Listen
Zerlegung des Dokument in Terms
Zuordnung von Dokument Indexterm zu
Dokument-IDs.
Sortierung der Paare (Terms , DokumentIDs)
Terme in Index Dateien speichern
![Page 21: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/21.jpg)
Vorbereitung der Index-Suche 21
Lucene IndizierungstechnikTermsDer 3
Erhöhung 3im 2im 3Juli 2Juli 3
Neue 1steigt 1
Umsatz 2Umsatz 3
Umsatzprognose 1
Dokument IdTerms Frequenz Posting ListDer 1 3
Erhöhung 1 3im 2 2 3Juli 2 2 3
Neue 1 1steigt 1 1
Umsatz 2 2 3Umsatzprognose 1 1
![Page 22: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/22.jpg)
Vorbereitung der Index-Suche 22
Vergleich
Invertierte Listen Signatur-Dateien Suffix-Arrays Lucene Invertierte IndexBoolesches Retrieval ja ja ja ja
Algebraisches Retrieval ja nein nein jaja nein nein ja
GrößeAnfragedauerKompression sehr gut gut gut sehr gut
Fuzzy RetrievalO(n0.85) O(n) O(n) O(n0.85)O(n0.8) O(n) O(logn) O(n0.8)
![Page 23: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/23.jpg)
Vorbereitung der Index-Suche 23
Die Lucene Index Datenstruktur
Lucene Index
Dokument
Feld
...
Term
...
...
...
Feld
.
...
Dokument
...
![Page 24: Vom dokument parser zum lucene index](https://reader033.fdocument.pub/reader033/viewer/2022052504/5496f10ab47959654d8b5099/html5/thumbnails/24.jpg)
Vielen Dank für Ihre Aufmerksamkeit!