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.
|
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 IndexdateidocMapFile
- Pfad zur DocMap-DateiresultFile
- 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