Vom dokument parser zum lucene index
Upcoming SlideShare
Loading in...5
×
 

Vom dokument parser zum lucene index

on

  • 923 views

 

Statistics

Views

Total Views
923
Views on SlideShare
912
Embed Views
11

Actions

Likes
1
Downloads
1
Comments
0

2 Embeds 11

http://www.linkedin.com 9
https://www.linkedin.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Vom dokument parser zum lucene index Vom dokument parser zum lucene index Presentation Transcript

  • Vom Dokument-Parser zum Lucene Index. Josiane Gamgo Maerz 2009
  • Agenda Indizierungsprozess: Übersicht Dokument-Parser Das Lucene Dokument Indizierungstechniken Die Lucene Index Datenstruktur Vorbereitung der Index-Suche 2
  • Indizierungsprozess: ÜbersichtInput Parser Lucene Analyzer Dokument Index Inverted Index Vorbereitung der Index-Suche 3
  • Dokument-Parser Arbeitsweise Dokumentenhandler Beispiel einen PDF Parser: PDFBOX Adaptierbarkeit Vorbereitung der Index-Suche 4
  • 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 Vorbereitung der Index-Suche 5
  • Arbeitsweise extends Interface Parser Lucene Dokument DocumentHandler Insidethe Documenthandler Lucene Dokument Interface InputStream DocumentHandler Vorbereitung der Index-Suche 6
  • 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;} Vorbereitung der Index-Suche 7
  • PDF Dokument LucenePDFDocument ParseDocument (InputStream) DocumentcosDoc .... cosDoc Memory Text DecryptDocument PDFTextstripper PDFTextstripper (cosDoc) Metadata
  • Adaptierbarkeit class ParserHandlercollector Grammatik Class Lparser extends Handlercollector{} Vorbereitung der Index-Suche 9
  • Das Lucene Dokument Aufbau Datenstruktur Index Erstellung mit mapReduce Vorbereitung der Index-Suche 10
  • 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. Vorbereitung der Index-Suche 11
  • Datenstruktur LuceneHTMLDokument Factory-Methode indexed tokenized stored Field.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 Vorbereitung der Index-Suche 12
  • Datenstruktur LucenePDFDocument Field indexed tokenized stored Bemerkung Url x Url lokal oder im Netz modified x für Indexupdate wichtig uid x für inkrementelle Indizierung content x x Der eigentliche Inhalt Summary x Die ersten 500 Zeichen Vorbereitung der Index-Suche 13
  • Index Erstellung mit MapReduce master A-f G-p Q-z Inverter A-f Parser A-f G-p Q-z Parser Inverter G-p ...... ... Inverter Parser A-f G-p Q-z Q-z Map Phase Reduce Phase Segment Files Disk Vorbereitung der Index-Suche 14
  • Indizierungstechniken Was ist IR(Information Retrieval)? Indizierungstechniken in der IR Lucene Indizierungstechnik Vergleich Vorbereitung der Index-Suche 15
  • Was ist IR? Verlorene Informationen wiedergewinnen Bedürfnis nach Informationen innerhalb von großen Datenmenge erfüllen. Vorbereitung der Index-Suche 16
  • Indizierungstechniken in der IR Signatur Dateien Suffix-Arrays Invertierte Listen Vorbereitung der Index-Suche 17
  • Signatur Dateien Zerlegung der block1 block2 Heute ist Montag Rosenmontag in Bayern Dokumente in ungefähr die gleiche größe. h(block1) h(block2) Erstellung einer 001 010 Signatur Datei mittels Hashfunktion. Suche nach: Montag AND Rosenmontag Anfrage = Boolesche 001 + 010 = 011 UND oder ODER Verknüpfung Vorbereitung der Index-Suche 18
  • Suffix-Arrays Suffixe eines Dokument speichern Representation der Suffixe in eine Baum Struktur, in Lexicographischer Reihenfolge Suche nach ”ra” Vorbereitung der Index-Suche 19
  • Invertierte Listen Zerlegung des Dokument in Terms Zuordnung von Dokument Indexterm zu Dokument-IDs. Sortierung der Paare (Terms , DokumentIDs) Terme in Index Dateien speichern Vorbereitung der Index-Suche 20
  • Lucene Indizierungstechnik Terms Dokument Id Terms Frequenz Posting List Der 3 Erhöhung 3 Der 1 3 im 2 Erhöhung 1 3 im 3 im 2 2 3 Juli 2 Juli 2 2 3 Juli 3 Neue 1 1 Neue 1 steigt 1 1 steigt 1 Umsatz 2 2 3 Umsatz 2 Umsatzprognose 1 1 Umsatz 3Umsatzprognose 1 Vorbereitung der Index-Suche 21
  • Vergleich Invertierte Listen Signatur-Dateien Suffix-Arrays Lucene Invertierte Index Boolesches Retrieval ja ja ja jaAlgebraisches Retrieval ja nein nein ja Fuzzy Retrieval ja nein nein ja Größe O(n0.85) O(n) O(n) O(n0.85) 0.8 Anfragedauer O(n ) O(n) O(logn) O(n0.8) Kompression sehr gut gut gut sehr gut Vorbereitung der Index-Suche 22
  • Die Lucene Index Datenstruktur Lucene Index Dokument ... Feld ... Term . ... ... Feld ... Dokument ... Vorbereitung der Index-Suche 23
  • Vielen Dank für Ihre Aufmerksamkeit!