-
HINTERGRUND
-
Die
vorliegende Erfindung bezieht sich auf indizierende Strukturen zur
Erleichterung maschinengestützten
Durchsuchens von Daten. Genauer gesagt bezieht sich die vorliegende
Erfindung auf ein Verfahren und eine Vorrichtung zum Erzeugen eines Indexes,
um das Durchsuchen der Daten innerhalb eines Dokumentes auf der
Basis einer vorab definierten, dem Dokument zugeordneten Formatvorlage, die
Anweisungen zum Erzeugen eines Indexes für das Dokument enthält, zu erleichtern.
-
Das
explosionsartige Anwachsen des Internet steht in engem Zusammenhang
mit der Entwicklung von Suchmaschinen, die Benutzern eine schnelles
Durchsuchen großer
Volumina von textartige Daten aus Tausenden und sogar Millionen
unterschiedlicher Websites ermöglicht.
Ein Benutzer, der an einem bestimmten Thema interessiert ist, braucht
nur eine Anzahl von Schlüsselwörtern in
eine Suchmaschine einzugeben, um Verknüpfungen zu verschiedenen Webseiten
zu erhalten, die die Schlüsselwörter enthalten.
-
Suchmaschinen
erzeugen typischerweise einen "Index" von Dokumenten (wie
Webseiten), die in dem World Wide Web verfügbar sind. Ein Index speichert
typischerweise individuelle Wörter
(oder andere bedeutungstragende textartige Zeichenketten) in einer
kompakteren und leichter durchsuchbaren Form, die als "Token" bekannt sind.
-
Der
Vorgang des Einrichtens eines effektiven Indexes kann in hohem Maße durch
die Tatsache verkompliziert werden, daß Dokumente in einer großen Vielzahl
von unterschiedlichen Formen vorhanden sein können, die unterschiedlich indiziert
werden müssen.
Zum Beispiel könnte
ein effizienter Index für einen
technischen Artikel die Zusammenfassung und den Titel des technischen
Artikels enthalten, jedoch nicht den übrigen Text des technischen
Artikels, wohingegen ein effizienter Index für ein Fernsehprogramm Bewertungen
der individuellen Fernsehsendungen enthalten könnte.
-
Der
Vorgang des Erzeugen eines Indexes kann auch durch die Tatsache
verkompliziert werden, daß für verbreitete
Dokumentenformate wie die Hypertext-Auszeichnungssprache (Hypertext
Markup Language, HTML) oder die Erweiterbare Auszeichnungssprache
(Extensible Markup Language, XML) vieles von der für Suchzwecke
wichtigen Information in Attributfeldern gespeichert ist und sich
nicht im normalen Text des Dokumentes befindet.
-
Darüber hinaus
kann sich die Struktur eines Dokumentes über die Zeit hinweg ändern, was
eine Änderung
der Struktur des Indexes erforderlich machen kann. Zum Beispiel
stelle man sich vor, daß die Struktur
eines Produktkatalogs aktualisiert wird, um für individuelle Produkte Rückmeldungen
von Verbrauchern aufzunehmen. Diese Änderung kann es erforderlich
machen, daß der
Index zur Aufnahme dieser Rückmeldungen
von Verbrauchern geändert wird.
-
Vorhandene
Systeme erzeugen Indizes für Dokumente
mittels Ad-Hoc-Regeln. Zum Beispiel ist eine Ad-Hoc-Regel, einen
Index für
sämtliche
textartige Information zu erstellen, die nicht in Attri butfeldern
enthalten ist. Unglücklicherweise
nehmen solche Ad-Hoc-Regeln häufig
viel unwichtige Information in einen Index auf und schließen häufig wichtige Information
aus.
-
Ein ähnliches
Problem besteht beim Konvertieren des Dokumentes in Token (Unterteilen
eines Dokumentes in Token) während
des Erstellungsvorgangs für
einen Index. Während
des Erstellungsvorgangs für
einen Index werden relevante Teile eines Dokumentes in Token umgewandelt,
die individuellen bedeutungstragenden Texteinheiten wie Wortformen oder
Zahlen zugeordnet sind. In der englischen Sprache werden Wortformen
typischerweise durch Zwischenraum und Interpunktionszeichen abgegrenzt. Daher
ist der Vorgang des Unterteilens in Token relativ einfach. Im Gegensatz
dazu haben Sprachen wie Japanisch keine solchen Abgrenzungen. Als
Konsequenz daraus hängt
der Vorgang der Unterteilung in Token von der Kontextinformation
ab und kann sehr kompliziert sein.
-
Der
Vorgang der Unterteilung in Token kann auch von der Domäne abhängig sein.
Zum Beispiel sind Punkte innerhalb einer Email-Adresse wie "person.dept@companyx.com" verbindende Elemente, wohingegen
Punkte innerhalb anderer textartiger Information typischerweise
Wort- und Satzgrenzen angeben.
-
Somit
ist der Vorgang der Unterteilung in Token zwischen Sprachen und
zwischen Domänen
unterschiedlich.
-
J.
R. AMBROZIAK: 'Conceptually
Assisted Web Browsing',
SIXTH INTERNAIONAL WORLD WIDE WEB CONFERENCE; [Online] 7.–11. April 1997,
Seiten 1–7,
XP002165122 CA, USA, offenbart einen Führer zum Durchblättern bzw.
einen Browse Guide, der proaktiv in Echtzeit arbeitet, um einen
dynamischen, konzeptionellen bzw. begrifflichen Index von Dokumenten
aufzubauen, die von dem Browser besucht wurden, und von Dokumenten
aus der unmittelbaren Nachbarschaft dieser Dokumente. Der Index
von Begriffen ist eine hierarchisch organisierte Taxonomie von Wörtern und
Phrasenbegriffen, die in dem indizierten Material gefunden wurden.
Der Browse Guide kann zum automatischen Zusammenstellen eines begrifflichen
bzw. konzeptionellen Logbuchs des Weges des Benutzers durch das
Web verwendet werden. Er stellt auch eine Art peripherer Sicht bereit,
die beim Navigieren im Web die Konzepte bzw. Ideen in Dokumenten
einen Schritt vor dem Browser anzeigt.
-
MIKHEEV
A. ET AL.: 'XML
tools and architecture for named entity recognition' MARKUP LANGUAGES:
THEORY & PRACTICE;
SUMMER 1999, MIT PRESS, USA, Vol. 1, Nr. 3, Seiten 89–113, XP000863186
ISSN: 1099–6621,
offenbart die Entwicklung eines Systems zum Erkennen von Benannten
Einheiten (Named Entity Recognition System), das innerhalb des XML-Paradigmas
entwickelt wurde. (Erkennen von Benannten Einheiten geht mit dem
Identifizieren von Ausdrücken
einher, die sich zum Beispiel auf Personen, Organisationen, Orte oder
Gegenstände
bzw. Artefakte in Texten beziehen).
-
M.
WINDHOUVER, A. SCHMIDT, M. KERSTEN: 'Acoi: A system for indexing multimedia
objects', PROCEEDINGS
OF THE FIRST INTERNATIONAL WORKSHOP ON INFORMATION INTEGRATION AND
WEB-BASED APPLICATIONS & SERVICES,
[Online] 15.–17.
November 1999, Seiten 1–10,
XP002165123 Yogyakarta, Indonesien, offenbart ein System zum Indizieren
von Multimedia-Objekten, das unabhängige Programme zum Erkennen von
Eigenschaften mit Multimedia- Datenbanktechnologie
kombiniert, um einen an Semantik reichen Index auf Multimedia-Datenelemente im
Web bereitzustellen. Ein grammatikalisches Rahmenwerk stellt das
Schema zum Indizieren zur Verfügung,
das gegen eine Datenquelle (z. B. ein Multimedia-Objekt) kompiliert
und ausgeführt
wird. Der abgeleitete Baum aus der Syntaxanalyse wird als ein Index
zu der Datenquelle verwendet.
-
EP-0964344-A2
offenbart ein Verfahren zum Bilden eines Indexes für eine Mehrzahl
von Dokumenten. Das Verfahren bezieht das Identifizieren von Wörtern oder
Zusammenstellungen von Wörtern
und das Anwenden der Wörter
auf einen Index mit ein. Linguistisch verwandte, aber unterschiedliche
Ausdrücke
wie Synonyme werden gemäß der Wahrscheinlichkeit,
korrekt zu sein, die auf der Information in einem Thesaurus bzw.
Synonymwörterbuch
beruht, angeordnet. Jedes der Wörter
in dem Dokument und jeder der wahrscheinlichsten äquivalenten
(d. h. verwandten) Begriffe bzw. Ausdrücke werden danach in eine indizierende
Eigenschaft umgeformt, die es ermöglicht, daß Dokumente sowohl mittels
der Wörter
aus dem Dokument selbst als auch mittels der äquivalenten Begriffe lokalisiert
bzw. gefunden werden können.
-
ZUSAMMENFASSUNG
-
Eine
Ausführungsform
der vorliegenden Erfindung stellt ein System zur Verfügung, das
einen Index erzeugt, um das Durchsuchen von Text innerhalb eines
Dokumentes auf der Basis einer dem Dokument zugeordneten Indexformatvorlage
zu erleichtern. Das System arbeitet so, daß es ein zu indizierendes Dokument
empfängt
und dann das Dokument syntaktisch analysiert, um ein syntaktisch
analysiertes Dokument zu erstellen. Das System holt auch Anweisungen
zum Erstellen des Indexes für
das Dokument aus der dem Dokument zugeordneten Indexformatvorlage.
Das System erstellt den Index für
das Dokument durch Umformen des syntaktisch analysierten Dokumentes
in einer Weise, die durch die aus der Indexformatvorlage geholten
Anweisungen angegeben ist.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung bezieht das Holen der Indexformatvorlage
das Holen der Indexformatvorlage von einer entfernten Adresse über ein
Netzwerk ein.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung ist die Indexformatvorlage an das Dokument
angehängt.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung stellt das System darüber hinaus den Index einer
Suchmaschine zur Verfügung,
so daß die Suchmaschine
den Index durchsuchen kann.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung gibt die Indexformatvorlage Abschnitte des
Dokumentes an, die beim Erstellen des Indexes für das Dokument zu überspringen
sind.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung gibt die Indexformatvorlage Attribute des
Dokumentes an, die in den Index aufzunehmen sind.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung empfängt
das System zusätzliche
Dokumente zum Indizieren und erstellt mittels der Indexformatvorlage
Indizes für
die zusätzlichen
Dokumente.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung bezieht das Erstellen des Indexes für das Dokument
das Unterteilen des Dokumentes in Token durch Aufteilen des Textes
innerhalb des Dokumentes in individuelle bedeutungstragende Texteinheiten
mit ein.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung lädt
das System vor dem Empfang des Dokumentes eine Indexkonfigurationsdatei,
die eine beim Erstellen des Indexes zu verwendende Indexformatvorlage
angibt, herunter und analysiert sie syntaktisch.
-
Nach
einer Ausführungsform
der vorliegenden Erfindung empfängt
das System das Dokument von einem Client an einem indizierenden
Server, der den Index für
den Client erstellt.
-
KURZBESCHREIBUNG DER FIGUREN
-
1 stellt ein verteiltes
Rechnersystem gemäß einer
Ausführungsform
der vorliegenden Erfindung dar.
-
2 stellt dar, wie ein Indizierungsserver einen
Index für
verschiedene Arten von Dokumenten gemäß einer Ausführungsform
der vorliegenden Erfindung erstellt.
-
3 stellt dar, wie Formatvorlagen
zur Indizierung und Prozeduren zum Unterteilen in Token verwendet
werden, um einen Index für
ein Dokument gemäß einer
Ausführungsform
der vorliegenden Erfindung zu erstellen.
-
4 stellt ein Beispiel des
Vorgangs zum Unterteilen in Token dar.
-
5 ist ein Flußdiagramm,
das den Vorgang zum Erstellen eines Indexes gemäß einer Ausführungsform
der vorliegenden Erfindung darstellt.
-
6 ist ein Flußdiagramm,
das den Vorgang zum dynamischen Erstellen eines aktualisierten Indexes
für ein
altes Dokument gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt.
-
DETAILLIERTE BESCHREIBUNG
-
Die
folgende Beschreibung wird bereitgestellt, um Fachleute auf dem
Gebiet in die Lage zu versetzen, die Erfindung nachzuvollziehen
und von ihr Gebrauch zu machen, und wird in dem Kontext einer bestimmten
Anwendung und ihrer Anforderungen dargestellt. Verschiedene Abwandlungen
der offenbarten Ausführungsformen
liegen für
Fachleute auf dem Gebiet sofort auf der Hand, und die allgemeinen hier
definierten Prinzipien können
auf andere Ausführungsformen
und Anwendungen angewendet werden, ohne den Geist und den Schutzbereich
der vorliegenden Erfindung zu verlassen. Daher soll die vorliegende
Erfindung nicht auf die dargestellten Ausführungsformen beschränkt werden,
sondern sie soll in dem weitesten Anwendungs- bzw. Gültigkeitsbereich
erteilt werden, der mit den hier offenbarten Prinzipien und Eigenschaften
bzw. Funktionen im Einklang ist.
-
Die
in dieser detaillierten Beschreibung beschriebenen Datenstrukturen
und Code werden typischerweise auf einem Computer-lesbaren Speichermedium
gespeichert, das jede beliebige Einrichtung oder jedes beliebige
Medium sein kann, das Code und/oder Daten zur Verwendung durch ein
Computersystem speichern kann. Dies umfaßt, ist jedoch nicht beschränkt auf
magnetische und optische Speichereinrichtungen wie Plattenlaufwerke,
Magnetbänder,
CDs (Compact Discs) und DVDs (Digital Video Discs) und Computeranweisungssignale,
die in einem Übertragungsmedium
verkörpert
sind (mit oder ohne eine Trägerwelle,
auf die die Signale moduliert werden). Zum Beispiel kann das Übertragungsmedium
ein Kommunikationsnetzwerk wie das Internet umfassen.
-
Verteiltes
Rechnersystem
-
1 stellt ein verteiltes
Rechnersystem 100 gemäß einer
Ausführungsform
der vorliegenden Erfindung dar. Das verteilte Rechnersystem 100 beinhaltet
die Clients 102 und 118, die mit dem Indizierungsserver 112 und
der Suchmaschine 122 über das
Netzwerk 110 verbunden sind.
-
Das
Netzwerk 110 kann jede Art von drahtgebundenem oder drahtlosem
Kommunikationskanal beinhalten, der zum Zusammenkoppeln von Computerknoten
fähig ist.
Dies umfaßt,
ist jedoch nicht beschränkt
auf, ein lokales Netzwerk, ein Weitverkehrsnetzwerk oder eine Kombination
von Netzwerken. Nach einer Ausführungsform
der vorliegenden Erfindung umfaßt
das Netzwerk 110 das Internet.
-
Die
Clients 102 und 118 können jeden beliebigen Knoten
in dem Netzwerk 110 beinhalten, der Rechenfähigkeit
und einen Mechanismus zur Kommunikation über das Netzwerk 110 umfaßt.
-
Der
Client 102 enthält
eine Anzahl von Dokumenten 104–106, die in den Index 116 innerhalb
des Indizierungsservers 112 zu integrieren sind. Der Indizierungsserver 112 kann
jeden beliebigen Knoten in einem Computernetzwerk 110 beinhalten,
der einen Mechanismus zum Bedienen von Anforderungen von einem Client
nach Rechen- und/oder Datenspeicherressourcen umfaßt. Genauer
beinhaltet der Indizierungsserver 112 Ressourcen zum Erstellen
des Indexes 116 innerhalb der Datenbank 114 zum
Indizieren der Dokumente 104–106. Die Datenbank 114 kann jeden
beliebigen Mechanismus zum Speichern von Daten in nicht-flüchtiger
Form beinhalten. Nach einer Ausführungsform
der vorliegenden Erfindung umfaßt die
Datenbank 114 die Datenbank ORACLE 8TM,
die von der Oracle Corporation in Redwood Shores, Kalifornien, vertrieben
wird.
-
Der
Client 118 beinhaltet einen Browser 120, der mit
der Suchmaschine 122 kommuniziert, um den Index 116 zu
durchsuchen. Der Browser 120 kann jede Art von Web-Browser
umfassen, der zum Betrachten einer Website in der Lage ist, wie
der Browser INTERNET EXPLORERTM, der von
der Microsoft Corporation in Redmond, Washington, vertrieben wird.
Die Suchmaschine 122 kann jede Art von Computersystem oder
Anwendung beinhalten, die zum Durchsuchen von Daten in der Lage
ist.
-
Während des
Betriebs holt der Indizierungsserver 112 die Dokumente 104–106 von
dem Client 102 und verwendet die Dokumente 104–106 zum
Erstellen des Indexes 116. Man beachte, daß der Client 102 die
Dokumente 104–106 an
den Indizierungsserver 112 senden kann. Oder alternativ
kann der Indizierungsserver 112 die Dokumente 104–106 vom
Client 102 abholen.
-
Der
Indizierungsserver 112 erstellt den Index 116,
indem er ausgewählte
Teile der Dokumente 104–106 in Token unterteilt
und den Index 116 aus den Token erstellt. Man beachte,
daß der
Client 102 selbst ein Server sein kann, der die Dokumente 104–106 über das
Netzwerk 110 verfügbar
macht.
-
Nachdem
der Index 116 erstellt ist, übermittelt der Client 118 eine
Anfrage 124 an die Suchmaschine 122 über den
Browser 120. Die Anfrage 124 kann Schlüsselwörter angeben,
die für
einen Benutzer des Client 118 von Interesse sind. Bei der
Beantwortung der Anfrage 124 durchsucht die Suchmaschine 122 den
Index 116, um innerhalb des Indexes 116 Dokumente
zu finden, die passende Schlüsselwörter enthalten.
Wenn solche Dokumente gefunden sind, gibt die Suchmaschine 122 die
Dokumente in einer Trefferliste 126 für die Anfrage an den Browser 120 zurück.
-
Indizierungsserver
-
2 stellt dar, wie der Indizierungsserver 122 einen
Index für
verschiedene Arten von Dokumenten gemäß einer Ausführungsform
der vorliegenden Erfindung erstellt. In 2 empfängt der Indizierungsserver 112 viele
verschiedene Arten von Dokumenten von unterschiedlichen Quellen.
Der Indizierungsserver 112 integriert diese verschiedenen
Arten von Dokumenten in den Index 116. Man beachte, daß der Index 116 einen
einzigen Index beinhalten kann, der viele verschiedene Arten von
Dokumenten enthält.
Alternativ kann der Index 116 einen unterschiedlichen Index
für jede
Art von Dokument enthalten.
-
Ein
unbegrenzte Anzahl von Arten von Dokumenten kann indiziert werden.
Zum Beispiel stellt 2 ein
Nachrichtendokument 202, einen Produktkatalog 204,
ein Fernsehprogramm 206, ein Dokument mit Benutzerdokumentation 208 und
ein Dokument mit Finanzinformation 210 dar. Jede von diesen verschiedenen
Arten von Dokumenten kann eine unterschiedliche Dokumentenstruktur
haben, die in einer Sprache wie XML definiert sein kann. Jede dieser unterschiedlichen
Dokumentenstrukturen kann einem unterschiedlichen Indizierungsschema
zugeordnet sein. In einigen Dokumenten sollten spezifische Attribute
in den Index aufgenommen werden. Zum Beispiel kann es für einige
Arten von Benutzerdokumentation vorteilhaft sein, ein Attribut zu
indizieren, das angibt, ob die Benutzerdokumentation für einen unerfahrenen
Benutzer oder einen erfahrenen Benutzer geeignet ist.
-
Indizierungsvorlagen und
Prozeduren zur Unterteilung in Token
-
3 stellt dar, wie Vorlagen
zur Indizierung und Prozeduren zum Unterteilen in Token verwendet werden,
um einen Index für
ein Dokument gemäß einer
Ausführungsform
der vorliegenden Erfindung zu erstellen. In 3 nimmt ein Mechanismus 310 zum Errichten
eines Indexes innerhalb des Indizierungsservers 112 als
Eingabe ein Dokument 302 und erstellt einen Index 312 für das Dokument 302.
Der Index 312 wird in einen größeren Index 116 für eine Sammlung
von Dokumenten eingespeist, der in der Datenbank 114 (aus 1) enthalten ist.
-
Während des
Vorgangs des Errichtens des Indexes nimmt der Index-Ersteller 310 Bezug
auf die Indexformatvorlage 304 und die Prozeduren 306–307 zur
Unterteilung in Token. Die Indexformatvorlage 304 beinhaltet
einen Satz von Anweisungen zum Erstellen des Indexes 312 für das Dokument 302.
Zum Beispiel kann die Indexformatvorlage 304 angeben, welche
Abschnitte des Dokumentes 302 beim Erstellen eines Indexes 312 übersprungen
werden sollten. Die Indexformatvorlage 304 kann auch Attribute
des Dokumentes 302 angeben, die in der Indexformatvorlage 304 enthalten sein
sollen. Zum Beispiel kann ein Attribut eine minimale Sicherheitsstufe
für eine
Person angeben, über
die diese für
einen Zugriff auf das Dokument 302 verfügen muß. Ein anderes Attribut kann
eine Inhaltsbewertung bzw. -einstufung (G, PG-13, PG, R, X) für das Dokument 302 angeben.
-
Die
Prozeduren 306–307 zur
Unterteilung in Token geben an, wie bestimmte Teile von Dokument 302 in
Token zu unterteilen sind. Zum Beispiel kann die Prozedur 306 zur
Unterteilung in Token angeben, wie ein erster Teil von Dokument 302 in
Token zu unterteilen ist, während
die Prozedur 307 zur Unterteilung in Token angibt, wie
ein zweiter Teil von Dokument 302 in Token zu unterteilen
ist. Obwohl die meisten Dokumente wahrscheinlich eine einzige Prozedur
zur Unterteilung in Token verwenden, können andere Dokumente Abschnitte
in unterschiedlichen Sprachen oder aus unterschiedlichen Domänen enthalten,
die unterschiedliche Prozeduren zur Unterteilung in Token erfordern.
-
Man
beachte, daß die
Indexformatvorlage 304 analog zu Formatvorlagen ist, die
von dem XML-Standard spezifiziert werden. Formatvorlagen werden
verwendet, um Anzeigeattribute wie Schriftart und Farbe spezifizieren,
um ein XML-Dokument anzuzeigen. In ähnlicher Weise gibt eine Indexformatvorlage 304 an,
wie ein Index für
das Dokument 302 zu erstellen ist.
-
Die
Prozeduren 306–307 zur
Unterteilung in Token können
darüber
hinaus die Form von Codemodulen annehmen, die Anweisungen zur Unterteilung in
Token enthalten, oder können
von einem entfernten Dienst über
ein Netzwerk bereitgestellt werden.
-
Man
beachte auch, daß die
Indexformatvorlage 304 Referenzen enthalten kann, die angeben, von
wo die Prozeduren 306–307 zur
Unterteilung in Token geholt werden können.
-
Man
beachte, daß der
Index-Ersteller 310 standardisierte Schnittstellen beinhaltet,
die Eingabe von vielen verschiedenen Indexformatvorlagen und Prozeduren
zur Unterteilung in Token entgegennehmen können. Dies ermöglicht es,
daß der
Index-Ersteller 310 Indexe für viele verschiedene Arten
von Dokumenten mittels vieler unterschiedlicher Regeln zur Unterteilung
in Token erstellen kann.
-
Prozeß zur Unterteilung in Token
-
4 stellt ein Beispiel für den Vorgang
des Erzeugens von Token dar. In diesem Beispiel wird ein Stück Text "MAY 7, 2000" in drei Token 402–404 unterteilt.
Das Token 402 enthält
das Wort "MAY". Das Token 403 enthält die Ziffer "7", und das Token 404 enthält die Jahreszahl "2000". Jedem dieser Token
ist eine eindeutige Tokennummer zugeordnet, und die eindeutigen
Tokennummern werden zum Erstellen des Indexes verwendet. Das Verwenden
der Tokennummern führt
zu einer kompakteren Darstellung, weil Tokennummern weniger Platz
einnehmen als lange Zeichenketten. Darüber hinaus ist es während des
Suchvorgangs einfacher, nach einer Zahl als nach einer Zeichenkette
zu suchen.
-
Prozeß zum Erstellen eines Indexes
-
5 ist ein Flußdiagramm,
das den Vorgang zum Erstellen eines Indexes gemäß einer Ausführungsform
der vorliegenden Erfindung darstellt. Das System beginnt mit dem
Herunterladen einer Konfigurationsdatei (Schritt 502).
Dieser Vorgang kann das Herunterladen einer Konfigurationsdatei über ein
Netzwerk umfassen. Als nächstes
analysiert das System die Syntax bzw. die Grammatik der Konfigurationsdatei
(Schritt 504) und identifiziert innerhalb der Konfigurationsdatei
die Adresse einer Indexformatvorlage 304 (Schritt 506).
-
Als
nächstes
lädt das
System die Indexformatvorlage 304 von der identifizierten
Adresse herunter (Schritt 508). Dies kann das Holen der
Formatvorlage über
ein Netzwerk von einem Ort, der durch einen Universal Resource Locator
(URL) angegeben ist, mit sich bringen. Alternativ kann die Formatvorlage
an das Dokument angehängt
sein, in welchem Fall die Indexformatvorlage einfach geholt werden
kann.
-
Als
nächstes
analysiert das System die Syntax der Indexformatvorlage 304,
so daß die
Anweisungen innerhalb der Indexformatvorlage während des Erstellungsvorganges
des Indexes verwendet werden können
(Schritt 510).
-
Das
System identifiziert auf ähnliche
Weise eine Adresse einer Prozedur 306 zur Unterteilung
in Token (Schritt 512). (Man beachte, daß die Adresse der
Prozedur 306 zur Unterteilung in Token in der Konfigurationsdatei
oder alternativ in der Indexformatvorlage 304 enthalten
sein kann). Als nächstes lädt das System
die Prozedur 306 zur Unterteilung in Token von der identifizierten
Adresse herunter (Schritt 514). Nach einer Ausführungsform
der vorliegenden Erfindung wird die Prozedur 306 zur Unterteilung
in Token von derselben Stelle wie die Indexformatvorlage 304 geholt.
Nach einer anderen Ausführungsform
wird die Prozedur 306 zur Unterteilung in Token von einer
anderen Stelle geholt.
-
Als
nächstes
gibt das System eine Anzahl von Dokumenten in den Index 116 ein.
Dies wird durch Herunterladen eines Dokumentes in den Index-Ersteller 310 (Schritt 518)
und anschließendes syntaktisches
Analysieren des Dokumentes mittels der in der Indexformatvorlage 304 angegebenen
Anweisungen erreicht (Schritt 520). Das System wandelt
das syntaktisch analysierte Dokument mittels der Prozedur 306 zur
Tokenunterteilung in Token um (Schritt 522) und erstellt
daraufhin einen Index mittels der Token (Schritt 524).
Dieser Vorgang wird für
jedes Dokument wiederholt, das in den Index 116 eingegeben
wird.
-
Nachdem
der Index 116 vollständig
ist, macht das System den Index 116 der Suchmaschine 122 (aus 1) verfügbar, so daß die Suchmaschine 122 den
Index 116 zur Verarbeitung von Anfragen durchsuchen kann
(Schritt 526).
-
6 ist ein Flußdiagramm,
das den Vorgang des dynamischen Erstellens eines aktualisierten
Indexes für
ein Dokument gemäß einer
Ausführungsform
der vorliegenden Erfindung darstellt. Für bestimmte Arten von Suchen
haben Daten eine begrenzte Lebensdauer. Zum Beispiel sind bei der
Suche nach aktuellen Wetterdaten alte Wetterdaten nicht von Interesse.
-
Unter
diesen Umständen
arbeitet eine Ausführungsform
der vorliegenden Erfindung wie folgt. Das System empfängt eine
Suchanfrage (Schritt 602). Bei der Beantwortung der Suchanfrage
prüft das
System die Erstellungsdaten von Dokumenten für jedes Dokument, das in die
Suche einbezogen ist (Schritt 604). Wenn das System feststellt,
daß ein Dokument
alt ist (indem es vielleicht das Alter des Dokumentes mit einer
Altersgrenze vergleicht), veranlaßt das System, daß eine neue Version
des Dokumentes erzeugt wird (zum Beispiel durch das Sammeln neuer
Wetterdaten) (Schritt 606). Als nächstes erstellt das System
einen Index für
die neue Version des Dokumentes (Schritt 608). Dieser Vorgang
entfernt implizit den Index der alten Version des Dokumentes (Schritt 610).
Schließlich
führt das
System eine Suche unter Einbeziehung des neu aktualisierten Indexes
durch.
-
Die
vorstehenden Beschreibungen von Ausführungsformen der Erfindung
sind nur zum Zweck der Veranschaulichung und der Beschreibung dargestellt.
Sie sollen nicht erschöpfend
sein oder die vorliegende Erfindung auf die offenbarten Formen beschränken. Dementsprechend
sind für
Praktiker auf diesem Gebiet viele Veränderungen und Abweichungen
offenkundig.
-
Zum
Beispiel ist die vorliegende Erfindung nicht notwendigerweise auf
ein verteiltes Client-Server-Rechnersystem
beschränkt,
auch wenn die vorliegende Erfindung im Kontext eines verteilten
Rechnersystems mit Clients und Servern beschrieben ist. Im allgemeinen
kann die vorliegende Erfindung auf jedes beliebige System, das einen
Index für
textartige Information erzeugt oder jedes beliebige System, das textartige
Information in Token unterteilt, angewendet werden.
-
Darüber hinaus
ist die vorstehende Offenbarung bzw. Offenlegung nicht dazu gedacht,
die vorliegende Erfindung einzuschränken. Der Anwendungs- bzw.
Geltungsbereich der vorliegenden Erfindung ist durch die beigefügten Ansprüche definiert.