Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ISSearch
Class ISQueryProcessor

    java.lang.Object
      ISSearch.ISQueryProcessor

All Implemented Interfaces:
  ISQueryProcessorInterface

    public class ISQueryProcessor

extends java.lang.Object
implements ISQueryProcessorInterface

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

Constructor Summary
`ISQueryProcessor()`

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

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ISQueryProcessor

    public ISQueryProcessor()

Method Detail

### executeQuery

    public java.net.URL[] executeQuery(java.lang.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:
  - die Anfrage analysieren (z.B. Sonderzeichen entfernen, String.toLowerCase() anwenden, etc.) und einzelne Suchbegriffe extrahieren;
  - Stoppwörter aus der Query entfernen;
  - die restlichen Keywords in Wortstämme mit Hilfe des Stemmers umwandeln;
  - Datenbankverbindung herstellen
  - Die Anfrage auf eine SQL-Query abbilden und diese auf der Datenbank ausführen;
  - Datenbankverbindung schliessen
  - Top-10 URLs der Trefferliste (ggf. weniger) als Ergebnis zurueckgeben.

  Specified by:
    `executeQuery` in interface `ISQueryProcessorInterface`
  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.

Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD