OSSE
1.0.0
過於簡單的搜索引擎 - 使搜索引擎簡單?
發音:“哦,見”
只是為了好玩!我真的很想學習生鏽,當時我對搜索引擎的工作方式感到非常感興趣,因此沒有比這個項目更好的實現這兩個目標的方法!
該存儲庫是由構成OSSE搜索引擎的獨立組件形成的monorepo。
$ nix develop
使用您的首選方法安裝貨物和行李箱(例如您喜歡的軟件包管理器)。
$ cargo run --bin crawler
$ cargo run --bin indexer
$ trunk serve frontend/index.html --open
所有組件運行後,您可以在您喜歡的Web瀏覽器上導航至127.0.0.1:8080 ,然後開始使用OSSE!
OSSE搜索引擎分為三個獨立組件:
該組件既提供實際搜索引擎索引器的實現,也提供用於搜索和添加索引資源的REST API。它使用Actix Web進行REST API(在端口4444上運行)。為了實現實際索引數據結構,我們當前使用使用哈希圖實現的非常簡單的反向索引,因此每次重新啟動索引器時,所有索引資源當前都會丟失。
該組件是一個簡單的遞歸軌道,將爬行的原始HTML轉發到索引器上。它使用ReqWest獲取了一個預定義的根網站列表,並用刮刀對其進行解析,將網站內容髮送到索引器並提取所有鏈接,並將其添加到要爬行的網站隊列中。此過程“遞歸”無限期地重複。
該組件是索引器的簡單Web界面。它允許用戶以用戶友好的方式搜索和可視化結果。它目前是使用紫杉製造的,它使我們能夠在Rust中編寫前端,並產生“巨大的快速” WASM Web-UI。
“如果您有任何想法或補丁,請隨時為OSSE做出貢獻!”
該軟件是在BSD-2-C-CARAUSE©BAITINQ下獲得許可的。