用途
Search Cluster(工业标准 v3.1)是一个多来源搜索聚合器,设计目标为高可用性与安全性。它将来自多个搜索引擎与数据源的查询结果统一汇总,并以结构化 JSON 形式输出。
主要能力
该工具支持以下搜索来源(providers):
- google:官方 Google 自定义搜索(Google Custom Search)。
- wiki:维基百科 OpenSearch API。
- reddit:Reddit JSON 搜索 API。
- gnews:Google 新闻 RSS 聚合。
- scrapling:无头隐匿抓取(经 DuckDuckGo)。
输出为结构化 JSON,包含 source、title、link 和经过清洗的 snippet 字段。
安全特性
- 子进程隔离:查询输入作为参数传给 stealth_fetch.py。
- 严格 TLS:所有提供方强制进行 SSL 验证。
- 清洗:集成原生内部清洗器(Path Neutral)。
安装
scrapling 提供方需要专用虚拟环境。
- 创建 venv:python3 -m venv venv/scrapling
- 安装 scrapling:venv/scrapling/bin/pip install scrapling
- 在 SCRAPLING_PYTHON_PATH 中提供该 venv 二进制文件的路径。
环境变量
需在环境或 vault 中声明以下变量:
- GOOGLE_API_KEY(可选):Google 自定义搜索的 API 密钥。
- GOOGLE_CSE_ID(可选):Google CSE 的搜索引擎 ID。
- SCRAPLING_PYTHON_PATH(可选):scrapling venv 的 python 二进制文件路径。
- REDIS_HOST(可选):用于结果缓存的主机。
- REDIS_PORT(可选):用于结果缓存的端口(默认 6379)。
- SEARCH_USER_AGENT(可选):自定义 User-Agent 字符串。
包含的脚本
- scripts/search-cluster.py:主入口点。
- scripts/stealth_fetch.py:Scrapling 抓取器(scrapling 提供方必需)。
使用方式
执行:scripts/search-cluster.py all ""
输出为结构化 JSON,包含 source、title、link 和经过清洗的 snippet。
适用场景
适合需要同时从多个来源检索信息并统一汇总结果的场景,尤其是对结果安全清洗与传输安全有要求的聚合搜索用途。
限制
多来源中的 Google CSE、Scrapling 等需要相应环境与可选变量配置;如未提供 API 密钥或 venv 路径,相应提供方可能不可用。关于定价、平台支持等其余信息暂未提供。