当前位置:首页 > 技术分享

SearXNG 聚合搜索API 可让本地的 ollama,deepseek 支持联网搜索

admin9个月前 (09-04)技术分享636

SearXNG 聚合搜索API

项目介绍

SearXNG 聚合搜索API是一个PHP项目,用于聚合多个共享的SearXNG搜索引擎地址,实现可用接口自动识别并返回JSON格式的搜索结果。该项目支持JSON和HTML两种请求方式,能够自动切换到可用的搜索引擎,并提供缓存功能以提高性能。

开源地址:https://gitee.com/web/sear-xng-api

系统要求

  • PHP 5.4 或更高版本

  • cURL 扩展

  • JSON 扩展

  • 文件写入权限(用于缓存和配置文件)

安装说明

  1. 将项目文件上传到您的Web服务器

  2. 确保 cache 目录可写

  3. 根据需要修改 config.php 配置文件中的搜索引擎列表API 使用说明

基本用法

http://您的域名/path/to/api/index.php?q=关键字

请求参数

参数说明默认值示例
q搜索关键词(必填)-q=搜索词
categories搜索类别generalcategories=general
category_general是否包含通用类别1category_general=1
language搜索语言autolanguage=zh-CN
time_range时间范围-time_range=day
safesearch安全搜索级别0safesearch=1
theme主题simpletheme=simple
engines指定搜索引擎-engines=google,bing


JSONP 支持

API支持JSONP调用,只需添加callback参数:

http://您的域名/path/to/api/index.php?q=关键字&callback=yourCallbackFunction

配置说明

配置文件 config.php 包含以下主要设置:

  1. url - 当前使用的搜索引擎配置

    • url - 搜索引擎URL

    • format - 响应格式(json或html)

    • safesearch - 安全搜索级别

    • engines - 使用的搜索引擎列表

  2. list - 备用搜索引擎列表,当当前引擎不可用时会自动切换

缓存机制

系统会自动缓存搜索结果以提高性能。缓存文件存储在 cache 目录中,并会每天自动清理。

开发说明

项目采用面向对象的方式组织代码,主要类包括:

  • SearchAPI - 处理搜索请求和结果解析

  • HttpClient - 处理HTTP请求

  • CacheManager - 管理缓存操作

  • ConfigManager - 管理配置文件

  • Utils - 提供通用工具方法

  • Autoloader - 自动加载类文件

许可证

请遵循SearXNG项目的许可证要求。

贡献指南

欢迎提交问题报告和改进建议。

更新日志

2025-09-04

  • 重构代码为面向对象结构

  • 优化代码,去除无用函数

  • 改进错误处理和异常捕获

  • 增强代码可读性和可维护性




扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/692.html

分享给朋友:

“SearXNG 聚合搜索API 可让本地的 ollama,deepseek 支持联网搜索” 的相关文章

360浏览器如何禁止切换到兼容模式[本地终极办法]

360浏览器如何禁止切换到兼容模式[本地终极办法]

浏览器内核控制标签meta说明背景介绍由于众所周知的原因,国内的主流浏览器都是双核浏览器:基于Webkit的内核用于常用网站的高速浏览,基于IE的内核主要用于部分网银、政府、办公系统等网站的正常使用。以360浏览器为例,我们优先通过Webk…

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

能点到全网发布这一步,说明你已经弄好了获取component_verify_ticket,component_access_token等这些参数,通常这个时候点击全网发布只会有这两个失败。如果其他失败的那就要好好检查一下你的代码了,或者查看…

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6.…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

PHP和Redis实现在高并发下的抢购及秒杀功能

抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题:一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("…

在CentOS 5.x 6.x里使用yum源 换阿里云国内源换vault.centos.org源

阿里云CentOS 5 的系统,无法用yum来安装应用软件。  原因:CentOS 5 在2017-03-31日已经结束支持,不再提供维护更新,所以包括阿里云镜像站的文件可能都是过时或已经有部分文件缺失。 &n…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。