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下获得许可的。