SearXNG
什么是 SearXNG ?说白了,其实就是一个免费开源的搜索引擎。那为什么要本地安装它呢?
看它官网的解释(翻译),当然,其中官方也有一篇文档解释了为什么需要部署使用私有示例:为什么使用私有实例?
同时,其本地部署成功,可以向本地的其他服务(自己开发的)提供搜索 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 即可),允许外部进行访问。
修改 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!,这个配置项的作用是加密签名用户会话,防止会话数据被篡改或伪造,确保用户身份和会话状态的合法性的。
所以也是需要修改的,这里提供的修改办法是通过生成一段64位随机字符串作为secret_key
,为了方便就直接用网上生成随机字符串的网站随机生成了一个(随机字符串生成器)
然后选择一个替换上去
然后 Ctrl + S
进行保存
使用 docker-compose 启动 SearXNG 服务
上述步骤完成之后,回到之前的 searxng-docker
(包含 docker-compose.yaml 文件)目录,然后输入下面的命令
docker compose up -d
然后 Docker 会自动拉取和启动对应的容器,部署成功之后会如下图所示
然后访问http://localhost:8088
,如果看到下面的页面,证明 SearXNG 已经本地部署成功
随便搜索一点内容验证是否能够正常使用
很好用!没有任何广告,剩下的其他功能可以自行探索~
tips
:使用其他服务进行调用搜索时,遵循下面的格式
http://localhost:8088/search?q=xxx&format=json&engines=bing,google
其中的q
表示搜索内容,format
表示搜索返回结果的格式(一般为 json),engines
为获取哪些搜索引擎的结果(不加默认获取全部搜索引擎的结果),关于其他的 API 参数可以参考官方文档:搜索 API — SearXNG 文档