Enthält Aufgaben, die für den CSCI572-Kurs an der University of Southern California erstellt wurden.
Sprachen: Python 3.7
I/P: Satz von Abfragen und die entsprechenden Top-10-Google-Ergebnisse
O/P: Spearman-Koeffizient für jede Abfrage, die Google- und Bing-Ergebnisse vergleicht
Sprachen: Java 11
Bibliotheken: crawler4j
I/P: Website-Domainname zum Crawlen
O/P: Liste der abgerufenen URLs zusammen mit ihren Statistiken
Sprachen: Java 11
Bibliotheken: Apache Hadoop
Systeme: Google Cloud, Microsoft Azure I/P: Liste der zu indizierenden URLs
O/P: Indexdateien für Unigramme und Bigramme für die URLs
Sprachen: Java 11, Python 3.7, HTML, CSS, PHP, JavaScript, JQuery
Bibliotheken: Apache Lucene, Apache Solr, Apache Tika, NetworkX, jsoup, PeterNorvig's SpellCorrector
Funktionalitäten:
1. Berechnung des Seitenrangs:
Verwendete jsoup in Java, um alle Links der gecrawlten Webseiten zu analysieren und eine EdgeList-Datei zu erstellen.
Nutzte NetworkX in Python, um aus der EdgeList ein gerichtetes Diagramm zu erstellen und die Page Rank-Werte für alle URLs zu berechnen.
2. Lucene- und Solr-Setup:
Es wurde ein Solr-Kern erstellt, um HTML-Dateien zu crawlen und einen invertierten Index effizient zu erstellen.
„Befehl auswählen“ in Solr ruft Webseiten für die angegebene Abfrage ab. Es verwendet intern den Vektorraum und die boolesche Modelldarstellung von Lucene und sortiert die Ergebnisse mit TF-IDF.
Bietet zusätzliche Funktionalität zum Sortieren der Webseitenergebnisse mit den zuvor berechneten Page Rank-Werten.
3. Iditom-Suchmaschinen-Webseite:
Entwickelte einen PHP-Code, der als Client zum Abrufen der Abfrage von den Benutzern fungiert. Der Benutzer kann wählen, ob er den Standard-Ranking-Algorithmus von Lucene oder den Page-Rank-Algorithmus zum Sortieren der abgerufenen Ergebnisse verwenden möchte. Mithilfe der Client-API für Solr werden Webseitenergebnisse für die Abfrage abgerufen.
Es wird eine Google-ähnliche Weboberfläche bereitgestellt.
4. Rechtschreibprüfung und automatische Vervollständigung:
Nach dem Parsen und Vorverarbeiten von Wörtern aus den gecrawlten Webseiten mit Apache Tika wurde eine Vokabeltextdatei erstellt.
Verwendet den SpellCorrector-Algorithmus von Peter-Norvig und füttert dieses Vokabular, um die Wahrscheinlichkeiten für Edit Distance 1 und 2 zu berechnen.
Der Iditom-Suchmaschine wurde die Rechtschreibprüfungsfunktion hinzugefügt, die Google imitiert (Ergebnisse für __ anzeigen, stattdessen nach __ suchen).
Es wurden die standardmäßigen Autocomplete-Ergebnisse von Solr verwendet, die die Fuzzy Factory-Suche für die Wortvorschläge verwenden.
Sehen Sie sich das Suchmaschinenvideo hier an – https://youtu.be/lYZ_SdsIX3A