通过SearXNG本地部署搭建搜索引擎
你知道其实我们也可以自己搭一个搜索引擎吗?就是那种像 Google、Bing 一样能搜全网内容的东西,听起来好像挺高端的对吧,但其实现在真的已经有现成工具了,比如这个——SearXNG。
它是一个完全开源的聚合搜索引擎,最大的亮点就是可以自己本地部署,既不用对接什么第三方 API,也不需要担心隐私泄露这些问题,完全可以做成你自己的“私人搜索助手”。而且 CherryStudio 也支持它,所以想搞本地搜索集成,SearXNG 就是一个非常合适的选择。
具体教程可以看看这篇:【如何在 Cherry Studio 使用联网模式?】
我自己折腾了一下,发现其实部署 SearXNG 根本没那么麻烦,甚至都不需要你写几行代码,整个过程完全可以靠 Docker 搞定,连 docker compose 都不用。下面我就把部署的整个流程整理一下,手把手教你把它跑起来。
先说一下为啥我觉得 SearXNG 值得用:
- 首先,它完全免费,还开源,想怎么改都行;
- 然后它不需要对接什么搜索 API,自己搜网页内容也行;
- 最关键的是它很注重隐私,不会偷偷记录你在搜啥,这点对我来说特别加分;
- 还有就是它的自定义能力很强,界面风格、搜索引擎来源都能自己定,玩起来真的很自由。
好啦,下面说重点:怎么把它部署在你自己的电脑上。
步骤一:先把 Docker 安装好
这个不用多说了,现在很多开发工具和服务都依赖 Docker,所以你最好本地装一个。如果你还没有 Docker,可以下一个最新版,装起来就行,整个流程也没多复杂。
这里我也帮大家把安装包整理到网盘了,大家自行下载就好。
网盘链接:https://pan.quark.cn/s/20ea1ac6ce45
安装完之后,可以在终端运行 docker version
看看有没有装成功。
安装后选择一个镜像存储路径:
步骤二:拉取 SearXNG 镜像并运行
SearXNG 提供了现成的 Docker 镜像,直接拉下来就能用了,不需要自己去 GitHub clone 那些源码。操作如下:
bash
docker run -d --name searxng -p 8080:8080 -v "D:/Docker/docker_data/searxng:/etc/searxng" -e "BASE_URL=http://localhost:8080/" -e "INSTANCE_NAME=my-instance" -e "HTTP_PROXY=http://host.docker.internal:7890" -e "HTTPS_PROXY=https://host.docker.internal:7890" searxng/searxng
打开终端运行上面的代码:
这个命令干了几件事:
-d
是让它在后台运行;--name searxng
是给容器起个名字方便管理;-p 8080:8080
是把本地的 8080 端口映射给容器,等下你在浏览器里访问 http://localhost:8080 就能打开搜索界面了;- 最后就是用官方的镜像名
searxng/searxng
。
下面是更进阶的一些参数,大家了解就好了。
✅ -v "D:/Docker/docker_data/searxng:/etc/searxng"
这个是挂载本地目录,意思是把你电脑上的 D:/Docker/docker_data/searxng
映射到容器内部的 /etc/searxng
。
这样做有两个好处:
- 你可以直接在本地编辑
settings.yml
,不用每次都进容器里去改; - 配置文件保存在本地,容器删了再跑也不会丢配置,维护起来方便。
✅ -e "BASE_URL=http://localhost:8080/"
这个设置的是你部署实例的访问地址,很多时候是为了让外部引用的时候路径是对的,比如生成的链接、favicon、OpenSearch 等。
✅ -e "INSTANCE_NAME=my-instance"
这个是给你的 SearXNG 实例起一个名字,主要是展示在页面标题和搜索结果页顶部,可以写成你喜欢的样子,比如 mysearch
、私人搜索引擎
都行。
✅ -e "HTTP_PROXY"
和 HTTPS_PROXY
这两个是网络代理配置,如果你在国内或者某些搜索源连接困难,这个设置就特别关键了。它可以让容器里的请求走你本地的代理工具(比如 Clash、Surge、V2Ray 等),这样像 Google、DuckDuckGo、Bing 这些源才能正常用。
特别注意:
host.docker.internal
这个地址是 Docker for Mac 和 Windows 默认的宿主机引用方式,在 Linux 下可能需要用具体的宿主机 IP。
整个过程很快,只要几秒钟,镜像下载完后 SearXNG 就会直接跑起来了。
步骤三:验证一下是不是部署成功了
打开浏览器访问 http://localhost:8080 ,如果能看到一个极简风格的搜索界面,那就说明你已经成功把SearXNG 跑起来了。
这个页面就是你自己的搜索入口了,它背后会自动聚合来自多个搜索引擎的数据,比如 Google、Bing、DuckDuckGo、Yahoo 等等(当然你可以手动选择要用哪些引擎),但不会泄露你的真实 IP,也不会记录搜索内容,这就很棒。
可选设置:修改配置文件(进阶)
如果你想进一步自定义 SearXNG,比如:
- 修改默认语言
- 增减搜索引擎来源
- 改首页标题或者主题
那你就需要去修改配置文件了。
不过因为我们是通过 Docker 跑的,所以可以这样操作:
bash
docker exec -it searxng bash
进入容器后,配置文件一般在 /etc/searxng
路径下,比如 settings.yml
,你可以用 vi
或者 nano
打开它进行修改。
改完之后记得重启容器让配置生效:
bashdocker restart searxng
这个操作比较适合熟悉 Linux 命令的朋友,如果你不太熟也没关系,默认配置就已经够用了。
最后
我想说的是,SearXNG 真的是一个非常适合自己用的小工具,不管你是开发者、还是只是想有个更干净的搜索环境的人,都可以轻松上手。整个部署过程简单快捷,也没有复杂的环境依赖。而且以后你要是搭配其它项目做整合,比如集成进自己的网站、加点自动化脚本啥的,也都特别方便。
我自己用了几天之后,最大的感觉就是搜索变得自由了,没广告没追踪,干净利落,查资料也更安心。所以如果你也像我一样,对搜索结果的纯净度和隐私比较在意,那真的可以试试把 SearXNG 跑在自己电脑上,保准你会喜欢。