SearXNG 聚合搜索API 可让本地的 ollama,deepseek 支持联网搜索
SearXNG 聚合搜索API
项目介绍
SearXNG 聚合搜索API是一个PHP项目,用于聚合多个共享的SearXNG搜索引擎地址,实现可用接口自动识别并返回JSON格式的搜索结果。该项目支持JSON和HTML两种请求方式,能够自动切换到可用的搜索引擎,并提供缓存功能以提高性能。
开源地址:https://gitee.com/web/sear-xng-api
系统要求
PHP 5.4 或更高版本
cURL 扩展
JSON 扩展
文件写入权限(用于缓存和配置文件)
安装说明
将项目文件上传到您的Web服务器
确保
cache
目录可写根据需要修改
config.php
配置文件中的搜索引擎列表API 使用说明
基本用法
http://您的域名/path/to/api/index.php?q=关键字
请求参数
参数 | 说明 | 默认值 | 示例 |
---|---|---|---|
q | 搜索关键词(必填) | - | q=搜索词 |
categories | 搜索类别 | general | categories=general |
category_general | 是否包含通用类别 | 1 | category_general=1 |
language | 搜索语言 | auto | language=zh-CN |
time_range | 时间范围 | - | time_range=day |
safesearch | 安全搜索级别 | 0 | safesearch=1 |
theme | 主题 | simple | theme=simple |
engines | 指定搜索引擎 | - | engines=google,bing |
JSONP 支持
API支持JSONP调用,只需添加callback参数:
http://您的域名/path/to/api/index.php?q=关键字&callback=yourCallbackFunction
配置说明
配置文件 config.php
包含以下主要设置:
url
- 当前使用的搜索引擎配置url
- 搜索引擎URLformat
- 响应格式(json或html)safesearch
- 安全搜索级别engines
- 使用的搜索引擎列表list
- 备用搜索引擎列表,当当前引擎不可用时会自动切换
缓存机制
系统会自动缓存搜索结果以提高性能。缓存文件存储在 cache
目录中,并会每天自动清理。
开发说明
项目采用面向对象的方式组织代码,主要类包括:
SearchAPI
- 处理搜索请求和结果解析HttpClient
- 处理HTTP请求CacheManager
- 管理缓存操作ConfigManager
- 管理配置文件Utils
- 提供通用工具方法Autoloader
- 自动加载类文件
许可证
请遵循SearXNG项目的许可证要求。
贡献指南
欢迎提交问题报告和改进建议。
更新日志
2025-09-04
重构代码为面向对象结构
优化代码,去除无用函数
改进错误处理和异常捕获
增强代码可读性和可维护性