Contient les devoirs effectués pour le cours CSCI572 de l'Université de Californie du Sud.
Langages : Python 3.7
I/P : ensemble de requêtes et leurs 10 premiers résultats Google correspondants
O/P : Coefficient de Spearman pour chaque requête comparant les résultats Google et Bing
Langages : Java 11
Bibliothèques : crawler4j
I/P : Nom de domaine du site Web à Crawler
O/P : Liste des URL récupérées avec leurs statistiques
Langages : Java 11
Bibliothèques : Apache Hadoop
Systèmes : Google Cloud, Microsoft Azure I/P : Liste des URL à indexer
O/P : Fichiers d'index pour les Unigrammes et les Bigrammes pour les URL
Langages : Java 11, Python 3.7, HTML, CSS, PHP, JavaScript, JQuery
Bibliothèques : Apache Lucene, Apache Solr, Apache Tika, NetworkX, jsoup, PeterNorvig's SpellCorrector
Fonctionnalités :
1. Calcul du classement des pages :
Jsoup utilisé en Java pour analyser tous les liens des pages Web explorées afin de créer un fichier EdgeList.
Utilisation de NetworkX en Python pour créer un graphique dirigé à partir de EdgeList et calculer les valeurs de classement de page pour toutes les URL.
2. Configuration de Lucene et Solr :
Création d'un noyau Solr pour explorer les fichiers HTML et produire efficacement un index inversé.
Sélectionnez la commande dans Solr pour récupérer les pages Web pour la requête donnée. Il utilise en interne l'espace vectoriel et la représentation du modèle booléen de Lucene et trie les résultats avec TF-IDF.
Fourni une fonctionnalité supplémentaire pour trier les résultats de la page Web avec les valeurs de classement de page calculées précédemment.
3. Page Web du moteur de recherche Iditom :
Développement d'un code PHP pour agir en tant que client pour obtenir la requête des utilisateurs. L'utilisateur peut choisir d'utiliser l'algorithme de classement par défaut de Lucene ou l'algorithme de classement de page pour trier les résultats récupérés. À l'aide de l'API client de Solr, les résultats de la page Web sont récupérés pour la requête.
Une interface Web de type Google est fournie.
4. Vérification orthographique et saisie semi-automatique :
Création d'un fichier texte de vocabulaire après avoir analysé et prétraité les mots des pages Web explorées à l'aide d'Apache Tika.
J'ai utilisé l'algorithme SpellCorrector de Peter-Norvig et alimenté ce vocabulaire pour calculer les probabilités pour Edit Distance 1 et 2.
Ajout de la fonctionnalité de vérification orthographique au moteur de recherche Iditom, imitant Google (affichage des résultats pour __, recherche à la place pour __).
Utilisation des résultats de saisie semi-automatique par défaut de Solr qui utilisent la recherche Fuzzy Factory pour les suggestions de mots.
Regardez la vidéo du moteur de recherche ici - https://youtu.be/lYZ_SdsIX3A