南カリフォルニア大学の CSCI572 コースで行われた課題が含まれています。
言語 : Python 3.7
I/P :一連のクエリとそれに対応するトップ 10 の Google 結果
O/P : Google と Bing の結果を比較する各クエリのスピアマン係数
言語 : Java 11
ライブラリ :クローラー4j
I/P :クロールする Web サイトのドメイン名
O/P :取得された URL のリストとその統計
言語 : Java 11
ライブラリ : Apache Hadoop
システム : Google Cloud、Microsoft Azure I/P :インデックスされる URL のリスト
O/P : URL のユニグラムおよびバイグラムのインデックス ファイル
言語 : Java 11、Python 3.7、HTML、CSS、PHP、JavaScript、JQuery
ライブラリ : Apache Lucene、Apache Solr、Apache Tika、NetworkX、jsoup、PeterNorvig の SpellCorrector
機能:
1. ページランクの計算:
Java で jsoup を使用して、クロールされた Web ページからのすべてのリンクを解析し、EdgeList ファイルを作成しました。
Python の NetworkX を利用して、EdgeList から有向グラフを作成し、すべての URL のページ ランク値を計算しました。
2. Lucene と Solr のセットアップ:
HTML ファイルをクロールし、転置インデックスを効率的に生成するための Solr コアを作成しました。
Solr の Select コマンドは、指定されたクエリの Web ページを取得します。内部では Lucene のベクトル空間とブール モデル表現を使用し、TF-IDF で結果を並べ替えます。
以前に計算されたページ ランク値を使用して Web ページの結果を並べ替える追加機能を提供しました。
3. イディトム検索エンジンのウェブページ:
ユーザーからクエリを取得するクライアントとして機能する PHP コードを開発しました。ユーザーは、取得した結果の並べ替えに Lucene のデフォルトのランキング アルゴリズムまたはページ ランク アルゴリズムを使用することを選択できます。 Solr へのクライアント API を使用して、Web ページの結果がクエリに対して取得されます。
GoogleライクなWebインターフェースを提供します。
4. スペルチェックとオートコンプリート:
Apache Tika を使用して、クロールされた Web ページの単語を解析および前処理した後、語彙テキスト ファイルを作成しました。
Peter-Norvig の SpellCorrector アルゴリズムを利用し、この語彙を入力して編集距離 1 と 2 の確率を計算しました。
Google を模倣して Iditom 検索エンジンにスペル チェック機能を追加しました (__ の結果を表示、代わりに __ を検索)。
単語候補のファジー ファクトリ ルックアップを使用する Solr のデフォルトのオートコンプリート結果を使用しました。
ここで検索エンジンのビデオをご覧ください - https://youtu.be/lYZ_SdsIX3A