Wunner
Un moteur de recherche de jouets qui recherche le Web à l'intérieur de votre terminal: P
Caractéristiques
- Implémenté dans C ++ 14.
- Exprime les pages Web progressivement à partir de l'URL des semences.
- Analyse les documents et la requête, en essayant de générer des résultats plus appropriés.
- Construit un index (carte de hachage) pour les documents analysés.
- Les documents rampants et l'indice sont rafraîchis périodiquement.
- La demande d'assiette automatique à l'aide d'un Trie, basée plus récemment sur des requêtes posées.
- Maintient deux threads, pour permettre de rafraîchir l'index et d'interroger simultanément.
- Génère des résultats les plus pertinents dans l'ordre classé sur la base de la moyenne harmonique de PageRank (pour obtenir l'importance de la page Web) et des rangs d'algorithmes OKAPI BM25 (pour obtenir un résultat basé sur la requête).
- Fournit des suggestions de requête (uniquement lorsque la requête d'entrée ne génère aucun résultat), sur la base de mots incorrects et corrects communs. Les classe à l'aide de l'algorithme N-gram et du DP d'édition pour comparer deux chaînes.
Étapes pour fonctionner
Commande à exécuter: wunner_search (assurez-vous que votre PWD est le répertoire racine du projet)
Ajouter l'option -f ou --fresh comme dans wunner_search -f pour démarrer à nouveau le moteur de recherche (c'est-à-dire en rampant et en indexant à nouveau)
- Une fois l'indexation terminée, tapez simplement votre requête et appuyez sur Entrée pour commencer à rechercher
- Pour utiliser la saisie semi-automatique, appuyez sur Ctrl + G lors de la saisie de la requête, puis tapez le numéro du résultat souhaité pour compléter la requête (ce n'est pas pertinent jusqu'à ce qu'une interface utilisateur Web soit développée)
Étapes pour construire
- Clone (
git clone https://github.com/Anishka0107/Wunner.git ) ou téléchargez ce référentiel -
cd Wunner d'où il a été cloné / téléchargé
Build (testé sur Linux)
- Exigences: GCC (5.0 et supérieur) / Clang (3.4 et supérieur), Boost, WGET
- Deux options:
- Nécessite
ar :- Exécutez
chmod +x wunner_build.sh - Run
./wunner_build.sh (notez que cela par défaut est le compilateur G ++; nom du compilateur pour utiliser d'autres, par exemple: ./wunner_build.sh clang++ )
- Nécessite
cmake et make :- Run
mkdir -p build && cd build && cmake .. && make -j$(nproc)
- Exécutez finalement
wunner_search (soit directement ./build/bin/wunner_search ou faire export PATH=$PATH:${PWD}/build/bin avant)
Basé sur Docker (pour Linux / Windows / OS-X)
- Configurez Docker sur votre système (Besoin des privilèges Root pour les commandes Docker)
- Construisez l'image à l'aide de
docker build -t wunner . - Exécutez à l'aide
docker run -v ${PWD}:/tmp wunner wunner_search (options wunner_search si nécessaire)
Liste de contrôle TODO:
Ressources
- URL des semences de chenilles ->
- Mots erronés ->
- Liste des mots d'arrêt -> https://www.webconfs.com/stop-words.php