searchDesign
Interface QueryEngineInterface

All Known Implementing Classes:
QueryEngine

public interface QueryEngineInterface

Beschreibung: Die QueryEngine bearbeitet die Suchanfragen.

Version:
1.0

Method Summary
 void initialize(java.lang.String indexFile, java.lang.String docMapFile, java.lang.String resultFile)
          Initialisierungsmethode: Liest die Indexdatei indexFile ein und rekonstruiert daraus den invertierten Index.
 void processQuery(java.lang.String term)
          Bearbeitet eine Suchanfrage.
 

Method Detail

initialize

public void initialize(java.lang.String indexFile,
                       java.lang.String docMapFile,
                       java.lang.String resultFile)
Initialisierungsmethode: Liest die Indexdatei indexFile ein und rekonstruiert daraus den invertierten Index. Um Rankingberechnungen und Kontextausgaben machen zu können, benötigt die QueryEngine die Informationen aus der Datei docMapFile, die beim Indizieren vom Parser angelegt wurde. In der Datei resultFile werden die Suchergebnisse gespeichert.
Parameters:
indexFile - Pfad zur Indexdatei
docMapFile - Pfad zur DocMap-Datei
resultFile - Pfad zur Ausgabedatei

processQuery

public void processQuery(java.lang.String term)
Bearbeitet eine Suchanfrage. Term ist die Benutzereingabe, welche eine beliebige Kombination von Wörtern und/oder Wortketten enthält. Eine Wortkette bezeichnet aufeinander folgende Wörter in doppelten Anführungszeichen, z.B. "böse Hexe". term wird in seine einzelnen Bestandteile geparst. Es müssen alle Dokumente ermittelt werden, die alle Wörter des Terms enthalten. Hier sollte man sich alle Dokumente merken, in denen der erste Term enthalten ist, und die Schnittmenge von dieser Dokumentenmenge und den Dokumentenmengen der weiteren Terme der Suchanfrage bilden. Bei der Behandlung von Wortketten muss verifiziert werden, dass die einzelnen Wörter einer Wortkette adjazent sind. Die nötigen Informationen dafür sind in den Fundstellen enthalten. Für die Ausgabe werden die ermittelten Dokumente nach dem Ranking mit Hilfe von Quicksort sortiert. Anschließend gibt processQuery die Suchergebnisse sowohl auf dem Bildschirm als auch in die Ausgabedatei resultFile aus. Für die Ausgabe der KeyWords im Kontext bietet es sich an, diesen mittels eines RandomAccessFiles aus den entsprechenden Dokumenten zu holen. Für die Ausgabe wird der Originaltext wie in der globalen Beschreibung unter 3.3.3 beschrieben leicht aufbereitet.
Parameters:
term - Die eingegebene Suchanfrage