SearXNG 是一款 开源、隐私优先的元搜索引擎(Meta Search Engine),核心定位是 “聚合多个搜索引擎结果,同时保护用户隐私”。
SearXNG 是国外发起的开源项目,但具备全球化的适配能力(包括支持国内搜索引擎)。
安装部署
使用Docker安装SearXNG
拉取镜像
docker pull searxng/searxng:latest
创建容器及启动
docker run -p 6080:8080 \
--name searxng \
-d --restart=always \
-v "/opt/SearXNG:/etc/searxng" \
-e "BASE_URL=http://虚拟机IP地址:6080/" \
-e "INSTANCE_NAME=first-instance" \
searxng/searxng
使用docker ps 查看正在运行的容器:

UI访问地址
浏览器地址栏输入:http://虚拟机IP:6080

界面语言设置:


所以说SearXNG并不保存用户在UI界面的首选项里–》搜索引擎–》勾选一个或多个搜索引擎–》保存 的结果。只把结果保存到本地的cookies里,(因为是无登录,没有用户态)这样就有个好处就是不同用户可以使用自己选定的搜索引擎,每次请求携带cookies(里面含有勾选并保存过的搜索引擎)去做检索。后面会通过具体案例再此分析此问题。
勾选并保存可用的搜索引擎
上图中默认勾选的搜索引擎,都是一些国外的,存在网络限制,国内的话,不使用富强上网,基本上访问不同。
里面也提供了一些国内网络可以访问通的搜索引擎,可以仅 勾选 bing(必应) 和 baidu(百度),然后点击保存。
先进行禁用所有,然后从列表里找到bing(必应) 和 baidu(百度),然后点击保存。




重启SearXNG后,上面的勾选的内容还在,说明SearXNG的UI是先从本地浏览器的Cookie中寻找已存储的搜索引擎,如果我把本地浏览器的Cookies清空后,UI这里显示的已勾选的搜索引擎又恢复出厂设置了。
请求测试

注:上面说的虚拟机地址,其实就是SearXNG服务器部署的机器IP地址,这样方式的访问是通过浏览器地址栏中,输入SearXNG服务器地址及相应API接口名,直接访问。中间不涉及Java后端等服务。


清空cookie后的测试

经清空cookie后的测试发现,UI界面的搜索引擎的已勾选项,已恢复出厂设置,通过浏览器,还是按照上述地址访问,返回的为空。
修改返回格式为json
- http://服务器IP:6080/search?q=风间影月&format=json
接口参数这里需要加上&format=json - 服务器端的setting.xml(/opt/SearXNG目录下创建容器时自动生成的)里,添加支持json格式,默认只支持html
如果不添加 - json,请求时带format=json,则会被deny(拒绝)。

修改完毕后,重启容器:docker restart searxng
测试效果如下:
SearXNG服务集成到Java应用中
先看正常效果:
<

最低0.47元/天 解锁文章
1221

被折叠的 条评论
为什么被折叠?



