# WF Paderborn ============== ## Regelbasierte Suchmaschine "WF": * Was ist WF? * Eigens programmierter regelbasierter C++ Suchautomat * Keine Indizierung * Durchsucht gesamten Wittgenstein-Korpus * Sucharten: Lemmatisiert, Partikelverben, Regex, Wortarten, uvm. * Workflow von WF * Server ruft wf auf. * WF startet die Suche auf jedem Dokument * Liefert ein json-Objekt zurück, das alle Treffer enthält. * Server bekommt die Ergebnisse. * Compilierung von WF * WF wird mit Hilfe mehrer Makefiles compliert * Makefiles sind Teil der CI von gitlab * Möglichkeiten WF zu Nutzen * Lexikalische, Exakte Suche * Satzkategorien * Lexikalische Wortkategorien (+Morphologie) * Semantische Kategorien * Syntaktische Wortkategorien * Suche mit Partikelverben (zusammenhängen) * Komplexe Reguläre Ausdrücke * Rankingverfahren * Allgemeinere Suche ermöglichen * nach gewissen Überthemen suchen können * mehr Suchtreffer ermöglichen * Funktionalität: * Finden für Mehrwortsuchanfragen mit dem ` | `- Operator * Ergebnisse nach Relevanz sortieren * Feature für die Relevanz: * Distanz zwischen Suchtreffern in einem Satz * Qualität der Treffer im Bezug zur Suchanfrage * Ranking auf Satz/Absatzebene ## Aufgaben: 1. Aufgabe: Finden Sie in der Datei `wf/src/srv/Searcher.cpp` und `SearchDocument.cpp` heraus, wofür ein Hit steht und wie/wo der Hit erstellt wird. Hilfreiche Befehle: `docker ps`und `docker exec -i wastserver_wf_1 /bin/sh` 2. Aufgabe: Anwendung der Suchmaschine mit Hilfe der [Website](wittfind.cis.lmu.de) und deren Beispielen oder mit dem Docker: 1. `herausfallen` 2. Eigennamen gefolgt von `schreiben` 3. `denken` gefolgt von 1-5 beliebigen Wörtern, gefolgt von `Ẁahrheit` aber nicht Lemmatisiert 4. Eigene Nutzungsmöglichkeiten ausprobieren. 3. Aufgabe: Werden die [Development-Seite](http://dev.wittfind.cis.lmu.de/?help) nutzen. 1. `Zwerge Menschen Größe` 2. Gleiche Suche, aber Ranked auswählen 3. Eigene Suchbegriffe ausprobieren und vergleichen 4. Partikelverben-Suche / Eigene Suchanfragen