Wunner
Eine Spielzeugsuchmaschine, die das Netz in Ihrem Terminal durchsucht: P.
Merkmale
- Implementiert in C ++ 14.
- Crawls Webspages beginnend mit Samen -URL (en).
- Analysiert die Dokumente und die Abfrage und versucht, angemessenere Ergebnisse zu erzielen.
- Erstellt einen Index (Hash -Karte) für die analysierten Dokumente.
- Die gekrabbten Dokumente und der Index werden regelmäßig aktualisiert.
- Autocomery -Abfrage mit einem Trie, der auf zuletzt gefragten Abfragen basiert.
- Verwaltet zwei Threads, um den Index zu erfrischen und gleichzeitig abfragen.
- Generiert die relevantesten Ergebnisse, um auf der Grundlage des harmonischen Mittelwerts der PageRank (um die Bedeutung der Webseite zu erhalten) und OKAPI BM25 (um abfragen basierte Ergebnis) -Algorithmus-Rang zu erhalten.
- Bietet Abfragevorschläge (nur wenn die Eingabeabfrage keine Ergebnisse generiert) auf der Grundlage gemeinsamer falscher und korrekter Wörter. Rangiert sie mit dem N-Gram-Algorithmus und der Bearbeitungsdistanzdp zum Vergleich von zwei Zeichenfolgen.
Schritte zum Laufen
Befehl zum Ausführen: wunner_search (Stellen Sie sicher, dass Ihr PWD das Root -Verzeichnis des Projekts ist)
Fügen Sie die Option -f oder --fresh wie in wunner_search -f hinzu, um die Suchmaschine neu zu starten (dh erneut kriechen und indizieren)
- Geben Sie nach Abschluss der Indexierung einfach Ihre Abfrage ein und drücken Sie die Eingabetaste , um mit der Suche zu beginnen
- Drücken Sie bei der Eingabe von Abfragen Strg+g , um die Nummer des gewünschten Ergebniss zu tippen, um die Nummer des gewünschten Ergebniss zu vervollständigen, um die Abfrage abzuschließen (es ist nicht relevant, bis eine Web -Benutzeroberfläche entwickelt wird).
Schritte zu bauen
- Clone (
git clone https://github.com/Anishka0107/Wunner.git ) oder laden Sie dieses Repository herunter -
cd Wunner von wo aus es kloniert/heruntergeladen wurde
Bauen (unter Linux getestet)
- Anforderungen: GCC (5.0 & oben) / Clang (3.4 & oben), Boost, WGet
- Zwei Optionen:
- Erfordert
ar :- Führen Sie
chmod +x wunner_build.sh aus - Run
./wunner_build.sh (Beachten Sie, dass dies zu G ++ - Compiler; COMPILER -Namen anhängen, um andere zu verwenden, z. B.: ./wunner_build.sh clang++ )
- Benötigt
cmake und make :-
mkdir -p build && cd build && cmake .. && make -j$(nproc) ausführen
- Letztendlich führen Sie
wunner_search aus (entweder direkt ./build/bin/wunner_search oder export PATH=$PATH:${PWD}/build/bin vor)
Docker-basiert (für Linux/Windows/OS-X)
- Richten Sie Docker in Ihrem System ein (benötigen Sie Root -Berechtigungen für Docker -Befehle).
- Erstellen Sie das Bild mit
docker build -t wunner . - Mit
docker run -v ${PWD}:/tmp wunner wunner_search ausführen (append wunner_searchoptionen falls erforderlich)
TODO -Checkliste:
Ressourcen
- Crawler -Samen -URLs ->
- Fehlerhafte Wörter ->
- Liste der Stoppwörter -> https://www.webconfs.com/stop-words.php