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 文檔