Indexing

IIndexerDocument

Das IIndexerDocument ist das Resultat eines erfolgreichen Indexing-Vorgangs. Letzterens Zweck ist die Auf- und Nachbereitung der Plain-Text-Daten, die der Parser zur Verfügung stellt. Er soll sich um das eventuell nötige Entfernen von Stopwords (möglichst nach erfolgreicher Spracherkennung) und Filtern anderer nicht zu speichernder Inhalte kümmern. Außerdem ist es seine Aufgabe, die Daten aus Crawler-Dokument, Parser-Dokuement und dem umfassenden Command-Objekt in eine Datenstruktur zu überführen, die von allen Datenbanken gleichermaßen oder nur mit geringen Abstrichen gelesen und geschrieben werden kann. Nach dem Indexer folgt (direkt, ohne weitere IFilter?) die DB-Abstraktionsschicht, die sich gar nicht mehr um den eigentlichen Inhalt des indexierten Dokuments kümmern müssen soll. Dafür werden folgende Felder in einem IIndexerDocument benötigt:

  • Name ist der Name des Feldes und identifiziert den Inhalt (setzt sich vorerst nur aus sprachlichen Gesichtspunkten zusammen, wenn die Hauptfelder geklärt sind, müsste eine genauere Zuordnung von den *Docs/ICommand → Feld, sowie das jeweilige Format (Hashed, Datum wie?, URI mit/ohne Anker, Sub-Dokumente?, etc… erfolgen))
  • Indexed besagt, ob die Spalte / das Feld indexiert und damit für eine schnelle Suche verfügbar gemacht wird
  • Plain besagt, ob der Inhalt (evtl. zusätzlich) als Plain Text (möglicherweise auch komprimiert) in der Datenbank gespeichert werden soll, evtl. um Snippets anzeigen zu können oder ähnliches
Name Indexed Plain
Text Ja Nein
URI Nein Ja
MD5-Summe Nein Ja
Last-modified Nein Ja
  • Bitte ergänzt sowohl fehlende Felder als auch fehlende weitere DB-Optionen, wichtig sind hierbei sowohl die bisher verfügbaren Informationen in den o.g. *Docs, als auch auf der Metadata-Seite
dev/indexing.txt · Zuletzt geändert: 2009/04/11 16:43 von rramthun