ISSearch
Interface ISQueryProcessorInterface

All Known Implementing Classes:
ISQueryProcessor

public interface ISQueryProcessorInterface

Interface des Query-Prozessors. Der Query Processor soll einfache Suchanfragen bearbeiten und die Rangliste der besten Treffer - sortiert nach Relevanz - zurückgeben.


Method Summary
 URL[] executeQuery(String anfrage)
          Diese Methode soll die Anfrage analysieren und die Top-10 der Trefferliste - sortiert nach Relevanz - zurückgeben.
 

Method Detail

executeQuery

public URL[] executeQuery(String anfrage)
Diese Methode soll die Anfrage analysieren und die Top-10 der Trefferliste - sortiert nach Relevanz - zurückgeben. Einzelne Schritte bei der Verarbeitung der Anfrage sind:

Parameters:
anfrage - Die Query, die der Prozessor verarbeiten soll. Sie besteht aus positiven und auszuschliessenden Suchbegriffen, getrennt durch Leerzeichen (d.h ein Treffer soll passende Features zu allen positiven Wörtern enthalten und darf keine Negativ-Features enthalten). Man kann davon ausgehen, dass jede Query mindestens einen 'positiven' Suchbegriff enthalten soll.

Format der Suchanfrage:

        
 [-]key_1 [-]key_2 ... [-]key_n
 
mit:
       
   key   - Treffer soll den Wortstamm des Suchbegriffs enthalten.
  -key   - Treffer darf den Wortstamm des Suchbegriffs nicht enthalten.
 
Returns:
Die Top-10 der Trefferliste (URLs der gefundenen Dokumente), sortiert absteigend nach Relevanz (d.h. result[0] hat den besten Score, result[1] den zweitbesten, usw.). Als Relevanzmaß verwenden wir den Skalarprodukt zwischen dem Query-Vektor und dem Featurevektor des Dokuments. Die Query wird in unserem Modell durch den Vektor ihrer Positivterme (jeweils mit Gewicht 1.0) dargestellt, für die Gewichtung der Features in den Dokumenten soll tf*idf Maß benutzt werden. Die Negativterme der Query werden bei der Berechnung der Relevanz nicht berücksichtigt. Wurden keine Treffer gefunden, gibt die Funktion null zurueck. Sind bei der Verarbeitung der Anfrage Fehler aufgetreten, soll ebenfalls null zurueckgegeben werden.