核心用法
SearXNG Web Search 是一个调用自托管 SearXNG 实例的搜索技能,通过 JSON API 获取聚合搜索结果。用户需配置 SEARXNG_URL 环境变量指向实例地址,使用 bb scripts/search.clj 执行搜索,支持通过 JSON 参数传递高级选项,包括分类过滤(general/news/images/videos/it/science)、时间范围(day/week/month/year)、语言设置和结果数量控制。
显著优点
1. 隐私优先:基于 SearXNG 元搜索引擎,不追踪用户搜索行为,避免商业搜索引擎的数据收集
2. 多引擎聚合:同时查询 Google、Bing 等多个搜索引擎,综合评分排序,提升结果质量
3. 灵活筛选:支持按类别、时间、语言精确过滤,特别适合追踪技术文档、新闻动态
4. 自托管可控:完全掌控搜索基础设施,适合对数据主权有要求的用户
5. 轻量实现:基于 Babashka/Clojure,启动快、资源占用低
潜在缺点与局限性
1. 基础设施依赖:必须自行部署维护 SearXNG 实例,增加运维负担
2. 结果质量波动:依赖下游搜索引擎,可能受反爬策略影响,部分结果不完整
3. 无原生安全隔离:脚本直接访问外部 URL,需确保 SearXNG 实例本身可信
4. 功能边界:仅返回标题、URL 和摘要,不支持页面内容抓取或深度分析
5. 速率限制基础:仅 1 秒间隔限制,缺乏高级流量管控
适合人群
- 注重搜索隐私的技术用户与开发者
- 需要聚合多源搜索结果的研究人员
- 已部署 SearXNG/NixOS 生态的用户
- 需要自动化搜索工作流的内容创作者
常规风险
- 实例安全风险:若
SEARXNG_URL指向不可控第三方,搜索内容可能被监听 - 网络暴露:脚本直接发起 HTTP 请求,需确保运行环境网络隔离
- 依赖维护:Babashka 与 Clojure 生态更新可能引入兼容性问题
- 数据时效性:依赖索引刷新频率,极端实时信息可能滞后