Moteur de recherche trop simple - rendre les moteurs de recherche simples ??
Prononciation: "oh-see"
Juste pour le plaisir! Je voulais vraiment apprendre la rouille et à l'époque j'étais vraiment intéressé par le fonctionnement des moteurs de recherche, donc il n'y avait pas de meilleure façon d'atteindre les deux objectifs qu'avec ce même projet!
Ce référentiel est un monorepo formé par les composants indépendants qui forment le moteur de recherche OSSE.
$ nix develop
Installez la cargaison et le coffre avec votre méthode préférée (comme votre gestionnaire de packages préféré).
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
Une fois tous les composants en cours d'exécution, vous pouvez accéder à 127.0.0.1:8080 sur votre navigateur Web préféré et commencer à utiliser OSSE!
Le moteur de recherche Asse est séparé en trois composants indépendants:
Ce composant fournit à la fois l'implémentation de l'indexeur de moteur de recherche réel et l'API REST utilisée pour rechercher et ajouter des ressources indexées. Il utilise Actix Web pour l'API REST (en cours d'exécution sur le port 4444). Pour la mise en œuvre de la structure réelle des données d'indexer, nous utilisons actuellement un index inversé très simple implémenté avec un hashmap, de sorte que toutes les ressources indexées sont actuellement perdues chaque fois que l'indexeur est redémarré.
Ce composant est un simple robot récursif qui transmet le HTML brut rampé à l'indexeur. Il utilise ReqWest pour récupérer une liste prédéfinie de sites Web racine et les analyser avec Scraper, envoyer le contenu du site Web à l'indexeur et extraire tous ses liens, les ajoutant à une file d'attente de sites Web à ramper. Ce processus est "récursivement" répété indéfiniment.
Ce composant est une simple interface Web avec l'indexeur. Il permet aux utilisateurs de rechercher et de visualiser les résultats de manière conviviale. Il est actuellement construit à l'aide d'if, ce qui nous permet d'écrire le frontend dans Rust et de produire un Web-UI "flamboyant rapide".
"Si vous avez des idées ou des correctifs, n'hésitez pas à contribuer à OSSE!"
Ce logiciel est sous licence en vertu de la CLAUSE BSD-2 © BaitInq.