当前位置: 首页 > news >正文

SearXNG

SearXNG

什么是 SearXNG ?说白了,其实就是一个免费开源的搜索引擎。那为什么要本地安装它呢?

看它官网的解释(翻译),当然,其中官方也有一篇文档解释了为什么需要部署使用私有示例:为什么使用私有实例?

image-20250404172613830

同时,其本地部署成功,可以向本地的其他服务(自己开发的)提供搜索 API,使其可以具备搜索功能,在如今 AI 爆火的场景下,显得格外实用(为 AI 赋能,使其具有实时搜索的功能等)

那么,如何在本地安装属于自己的 SearXNG 搜索引擎呢?

本地安装 SearXNG

这里采用 Docker 部署的方式(方便快捷),所以需要本地具备 Docker 、Git 等前置条件,没有则查看这篇文章进行安装和配置 Docker:

  • 安装 Docker
  • 安装Docker - CSDN

如果准备就绪,那么就开始吧~

克隆 SearXNG 仓库

SearXNG 官方为我们准备了一个 searxng-docker 仓库,专门用于 Docker 进行部署,使用下面的 git 命令进行拉取

git clone https://github.com/searxng/searxng-docker.git

拉取成功之后,进入其中的目录(searxng-docker 或 searxng-docker-master),如果是 windows 则直接点击进入目录即可,如果是 Linux 或其他非图形化界面则通过下面的命令

cd searxng-docker

修改 docker-compose.yaml 文件

修改 docker-compose.yaml 文件,将其中的 127.0.0.1:8080:8080修改为 8088:8080(或者使用其他端口映射,只需要去掉前面的 127.0.0.1 即可),允许外部进行访问。

image-20250408163034365

修改 settings.yml 文件

settings.yml文件位于 searxng 文件夹中,如果需要给其他服务提供 API 服务,则需要添加下面的配置

search:
  formats:
    - html
    - json  # 必须添加,否则 API 调用报 403 错误

并且修改下面的配置(否则,其他服务调用可能会触发too many requests报错)

server:
  limiter: false  # can be disabled for a private instance

当然,细心一点的同学一定已经发现这个配置文件中还有一个secret_key,并且后面跟上了一个注释:# change this!,这个配置项的作用是加密签名用户会话,防止会话数据被篡改或伪造,确保用户身份和会话状态的合法性的。

image-20250408171020480

所以也是需要修改的,这里提供的修改办法是通过生成一段64位随机字符串作为secret_key,为了方便就直接用网上生成随机字符串的网站随机生成了一个(随机字符串生成器)

image-20250408171235883

然后选择一个替换上去

image-20250408171340869

image-20250408171404122

然后 Ctrl + S 进行保存

使用 docker-compose 启动 SearXNG 服务

上述步骤完成之后,回到之前的 searxng-docker (包含 docker-compose.yaml 文件)目录,然后输入下面的命令

docker compose up -d

然后 Docker 会自动拉取和启动对应的容器,部署成功之后会如下图所示

image-20250408172428181

然后访问http://localhost:8088,如果看到下面的页面,证明 SearXNG 已经本地部署成功

image-20250408172546433

随便搜索一点内容验证是否能够正常使用

image-20250408172628368

很好用!没有任何广告,剩下的其他功能可以自行探索~


tips:使用其他服务进行调用搜索时,遵循下面的格式

http://localhost:8088/search?q=xxx&format=json&engines=bing,google

其中的q表示搜索内容,format表示搜索返回结果的格式(一般为 json),engines为获取哪些搜索引擎的结果(不加默认获取全部搜索引擎的结果),关于其他的 API 参数可以参考官方文档:搜索 API — SearXNG 文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/120450.html

相关文章:

  • Docker面试全攻略(一):镜像打包、容器运行与高频问题解析
  • mybatis的第五天学习笔记
  • 多模态大模型重塑自动驾驶:技术融合与实践路径全解析
  • @linux系统SSL证书转换(Openssl转换PFX)
  • 前端网页开发学习(HTML+CSS+JS)有这一篇就够!
  • 3dmax中VRay的3d导出glb的模型是黑白的,没有带贴图
  • K8s 老鸟的配置管理避雷手册
  • Android Input——输入系统介绍(一)
  • 【小沐杂货铺】基于Three.JS绘制三维数字地球Earth(GIS 、WebGL、vue、react,提供全部源代码)
  • 机器学习中的聚类分析算法:原理与应用
  • vue总结
  • XCode集成第三方framework步骤
  • 海阳科技IPO:业务独立性、业绩稳定性、财务规范性存致命缺陷
  • CentOs系统部署DNS服务
  • 【经典DP】三步问题 / 整数拆分 / 不同路径II / 过河卒 / 下降路径最小和 / 地下城游戏
  • 认识vue中的install和使用场景
  • python 常用的6个爬虫第三方库
  • 23种设计模式-行为型模式-观察者
  • Photoshop2025最新版v26超详细图文安装教程(附安装包)
  • 【大模型深度学习】提示学习:Prefix tuning 、P-tuning v2、P-tuning 到底有什么区别?
  • 【Python】Python 100题 分类入门练习题 - 新手友好
  • 模板引擎Freemarker使用教程
  • LabVIEW真空度监测与控制系统
  • 【RH124】第六章 管理本地用户和组
  • 启山智软的b2c前端页面设计
  • 【kind管理脚本-1】便捷使用 kind 创建、删除、管理集群脚本
  • CANoe CAPL——CANoe IL函数
  • vue3项目中模拟AI的深度思考功能
  • svelte+vite+ts+melt-ui从0到1完整框架搭建
  • 我的第一个开源小项目:内网文件传输工具技术解析