Rust 版 SearXNG:多引擎聚合搜索新方案
SearXNG in Rust

这是一个用 Rust 编写的元数据搜索引擎,灵感源自 SearXNG。它能同时向 DuckDuckGo、Brave、Startpage 和 Yahoo 发起请求,抓取 HTML 结果并进行去重。系统通过 Reciprocal Rank Fusion 算法对结果进行排序,确保被多个引擎收录的页面排名更高。项目支持作为库集成到 Rust 应用中,也可部署为独立服务器,甚至提供基于 ratatui 的终端界面。开发者只需几行代码即可调用,轻松实现跨引擎搜索与结果聚合。
HN 评论区
23- asciimoo
大家好,
我是 Searx 的原作者。我正在开发一个新的搜索项目 Hister,其动机相似:减少对外部搜索引擎的依赖,同时将搜索行为和个人数据掌握在自己手中。
Searx 是一个元搜索引擎,它将查询转发给其他搜索提供商。Hister 采取了不同的方法。它根据你选择的内容构建一个私有全文索引,然后完全在你自己的基础设施上搜索该索引。
Hister 可以通过其 Firefox 和 Chrome 扩展自动索引页面。它还可以监控本地目录、导入浏览器历史记录和书签、索引单个 URL,以及爬取完整的文档站点。
我觉得最有用的功能是离线预览。Hister 将已索引页面的可读内容和 HTML 存储在本地。你可以在搜索结果旁边打开一个干净且经过清理的预览,而无需再次访问原始网站。
其他一些功能:
- 跨网页、PDF、docx 文件、Markdown、OrgMode 和文本文件进行全文搜索
- 短语搜索、字段过滤、日期过滤、通配符、否定、别名、标签、分面和结果优先级
- 可选的语义搜索,使用你配置的嵌入端点
- 持久的网站爬取
- 从浏览器历史记录、Linkwarden、Karakeep、Shaarli、Wallabag 和 Linkding 导入
- 支持 Web、终端、命令行、HTTP API 和 MCP 接口
- 支持 SQLite 和 PostgreSQL,以及可选的多用户托管
Hister 无法取代全球……
- snailmailman
我一直想搭建 SearXNG,但所有搜索引擎每隔几次搜索就让我做验证码和反机器人勾选框。元搜索引擎难道不会遇到同样的问题吗?或者,如果我在本地服务器上抓取搜索结果页面,难道不会立刻被所有主流搜索引擎封禁吗?我想我其实已经感觉被“准封禁”了,所以也许这根本不是个问题。
就在几分钟前,我敢做一次 Google 搜索,结果 Google 拒绝向我展示结果,因为据称我的运行最新 iOS 的 iPhone 看起来像是一个“自动化搜索”。
- alethic
很酷的项目!不过标题不太准确,这个项目实际上是“一个用 Rust 编写的、类似于 searxng 的元数据搜索引擎”。它看起来并没有实现(也不打算实现)SearXNG 的任何高级功能,比如对结果中单个站点的权重调整、Wikidata 集成,或者……一个前端 :-)