過度にシンプルな検索エンジン - 検索エンジンをシンプルにする??
発音:「ああ、 "
ただ楽しみのために!私は本当に錆を学びたかったので、検索エンジンがどのように機能するかに本当に興味があったとき、このプロジェクトよりも両方の目標を達成するより良い方法はありませんでした!
このリポジトリは、OSSE検索エンジンを形成する独立したコンポーネントによって形成されるモノレポです。
$ nix develop
好みの方法(お気に入りのパッケージマネージャーなど)を使用して貨物とトランクをインストールします。
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
すべてのコンポーネントが実行されたら、お気に入りのWebブラウザで127.0.0.1:8080に移動し、OSSEの使用を開始できます。
OSSE検索エンジンは、3つの独立したコンポーネントに分けられます。
このコンポーネントは、実際の検索エンジンインデクサーの実装と、インデックス付きリソースの検索と追加に使用されるREST APIの両方を提供します。 REST API(ポート4444で実行されている)にActix Webを使用します。実際のインデクサーデータ構造を実装するために、現在、ハッシュマップで実装された非常に単純な逆インデックスを使用しているため、インデックスされたリソースはすべて、インデックス担当者が再起動するたびに失われています。
このコンポーネントは、クロールされた生のHTMLをインデクサーに転送する単純な再帰クローラーです。 Reqwestを使用して、ルートWebサイトの事前定義されたリストを取得し、スクレーパーでそれらを解析し、Webサイトのコンテンツをインデクサーに送信し、すべてのリンクを抽出し、それらをrawl落されるWebサイトのキューに追加します。このプロセスは、無期限に「再帰的に」繰り返されます。
このコンポーネントは、インデクサーへのシンプルなWebインターフェイスです。ユーザーは、結果をユーザーフレンドリーな方法で検索および視覚化できます。現在、Yewを使用して構築されています。これにより、フロントエンドをRustで書き込み、WASMベースのWeb-UIを「ぼやけて速い」WASMベースのWeb-UIを作成できます。
「アイデアやパッチがある場合は、OSSEに貢献することをheしないでください!」
このソフトウェアは、BSD-2-Clauseの下でライセンスされています©Baitinq。