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.mzph.cn/diannao/78748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

js 颜色转换分析

一、十六进制转RGB function hexToRgba(hex) {// 移除 # 字符hex hex.replace(#, );// 处理简写形式如 #fffif (hex.length 3) {hex hex[0] hex[0] hex[1] hex[1] hex[2] hex[2];}// 转换为十进制const r parseInt(hex.substring(0, 2), 16); // 截图前两位&#xff0…

智能资源管理机制-重传机制

一、发送端资源管理的核心机制 1. 滑动窗口(Sliding Window) 这是TCP协议的核心优化设计: 窗口动态滑动:发送端不需要保留所有已发送的分组,只需维护一个"发送窗口"窗口大小:由接收方通告的接…

基于SSM+Layui毕业设计选题系统源码

项目介绍 基于SSM+Layui毕业设计选题系统源码,可以作为课程设计项目参考,该系统分为三个角色: 管理员:用户管理(对学生和老师的信息进行维护),统计分析(对老师课题情况以及学生选题情况信息进行维护),修改密码 老师:个人信息维护,毕业设计题目管理,报名学生管理…

通过uri获取文件路径手机适配

青铜版本 return contentResolver.query(this, arrayOf(MediaStore.MediaColumns.DATA), null, null).let {if (it?.moveToFirst() true) {val columnIndex it.getColumnIndex(MediaStore.MediaColumns.DATA)val path it.getString(columnIndex)it.close()return path}&quo…

vue模拟扑克效果

vue模拟扑克效果 效果图&#xff1a; step1:C:\Users\wangrusheng\PycharmProjects\untitled18\src\views\Home.vue <template><div class"poker-container"><!-- 使用复合数据对象实现双行显示 --><divv-for"(card, index) in POKER_…

基础数学:图论与信息论

微积分与概率论由此进&#xff1a;基础数学&#xff1a;微积分和概率与统计-CSDN博客 线代与优化理论由此进&#xff1a;基础数学&#xff1a;线性代数与优化理论-CSDN博客 数值分析与离散数学由此进&#xff1a;基础数学&#xff1a;数值分析与离散数学-CSDN博客 四、图论与…

构建智能期货交易策略分析应用:MCP与AI的无缝集成

引言 随着金融科技的快速发展&#xff0c;数据驱动的交易决策已成为期货交易领域的重要趋势。本文将深入探讨一个结合了Model Content Protocol (MCP)和AI技术的期货交易策略分析应用——Futures MCP。该应用不仅提供了丰富的技术分析工具&#xff0c;还通过MCP协议与大型语言…

0x02.Redis 集群的实现原理是什么?

回答重点 Redis 集群&#xff08;Redis cluster&#xff09;是通过多个 Redis 实例组成的&#xff0c;每个主节点实例负责存储部分的数据&#xff0c;并且可以有一个或多个从节点作为备份。 具体是采用哈希槽&#xff08;Hash Slot&#xff09;机制来分配数据&#xff0c;将整…

基本的DOS命令

一.打开CMD方式&#xff1a; winR 输入cmd 开始系统命令提示符 在任意文件夹下&#xff0c;shift&#xff0b;鼠标右击&#xff0c;在此处打开命令 资源管理器的地址栏前面输入cmd 以管理员身份打开cmd&#xff1a;选择以管理员方式运行 二.常用的Dos命令 #盘符切换 盘符…

深度剖析:架构评估的常用方法与应用

架构评估是确保系统架构满足需求、性能和质量等方面要求的重要环节&#xff0c;以下是一些常见的架构评估方法的详细介绍&#xff1a; 一、基于调查问卷或检查表的评估方法 1.方法概述&#xff1a;该方法通过设计一系列针对性的问题或检查项&#xff0c;形成问卷或检查表&…

代码随想录算法训练营第十六天

LeetCode题目: 530. 二叉搜索树的最小绝对差501. 二叉搜索树中的众数236. 二叉树的最近公共祖先3272. 统计好整数的数目(每日一题) 其他: 今日总结 往期打卡 530. 二叉搜索树的最小绝对差 跳转: 530. 二叉搜索树的最小绝对差 学习: 代码随想录公开讲解 问题: 给你一个二叉搜…

基于双闭环PID控制器的永磁同步电机控制系统匝间故障Simulink仿真

欢迎微♥关注“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2013Rb&#xff09;软件。建议采用matlab2013 Rb及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff0c;高于该版本的matlab均可正…

02-libVLC的视频播放器:播放音视频文件以及网络流

libvlc_new(0, nullptr)功能:创建并初始化libVLC的核心实例,是使用所有libVLC功能的前提。 参数:第一个参数:参数数量(通常设为0)第二个参数:参数列表(通常为nullptr,表示使用默认配置)返回值:成功返回libvlc_instance_t*指针,失败返回nullptr。注意事项:可通过参…

2025蓝桥杯省赛C++B组解题思路

由于题面还没出来&#xff0c;现在先口胡一下思路 填空题直接打表找规律或者乱搞一下就能出&#xff0c;从大题开始说。 1&#xff0c;题意&#xff1a; 给你一个数组&#xff0c;这个数组里有几个数可以被一个连续递增的数字区间求和得出 思路&#xff1a;诈骗题&#xff0c;显…

防止邮件伪造的策略 SPF 介绍

SPF是Sender Policy Framework的缩写&#xff0c;即发件人策略框架&#xff0c;是一种用于防止电子邮件伪造的技术&#xff0c;用来验证发件人邮箱域名的真实性。以下是关于它的详细说明&#xff1a; 1. 定义与作用 SPF是一种电子邮件验证系统&#xff0c;它通过在域名的DNS记…

JavaScript Symbol与BigInt

目录 Symbol类型 一、Symbol 的核心特性 1. 唯一性 2. 不可变性 3. 不可枚举性 二、创建 Symbol 1. 基础创建 2. 全局 Symbol 注册表 三、Symbol 作为对象属性 1. 定义 Symbol 属性 2. 遍历 Symbol 属性 四、内置 Symbol 值 五、实际应用场景 1. 避免属性名冲突 …

AI Agent工程师认证-学习笔记(3)——【多Agent】MetaGPT

学习链接:【多Agent】MetaGPT学习教程 源代码链接(觉得很好,star一下):GitHub - 基于MetaGPT的多智能体入门与开发教程 MetaGPT链接:GitHub - MetaGPT 前期准备 1、获取MetaGPT (1)使用pip获取MetaGPT pip install metagpt==0.6.6#或者在国内加速安装镜像 #pip in…

【leetcode hot 100 416】分割等和子集

解法一&#xff1a;&#xff08;动态规划&#xff09;①定义&#xff1a;dp[i]表示是否可以在nums找到元素之和为i&#xff0c;dp[sum/21] ②初始状态&#xff1a;dp[0]true;dp[i]false ③状态转移方程&#xff1a;dp[i] dp[i] || dp[i - num]; class Solution {public boole…

高中数学联赛模拟试题精选第2套几何题(改编)

在 △ A B C \triangle ABC △ABC 中, 点 M M M 是边 A C AC AC 的中点. 在线段 A M AM AM, C M CM CM 上分别取点 P P P, Q Q Q, 使得 P Q A C / 2 PQAC/2 PQAC/2. 设 △ A B Q \triangle ABQ △ABQ 的外接圆与边 B C BC BC 相交于点 X X X, △ B C P \triangle …

UWB双通道隧道人员定位方案

技术基础&#xff1a;UWB&#xff08;超宽带技术&#xff09; 定义&#xff1a;UWB&#xff08;Ultra-Wideband&#xff09;是一种通过纳秒级窄脉冲传输数据的无线通信技术&#xff0c;占用500MHz以上的超宽频段。 核心优势&#xff1a; 高精度定位&#xff1a;时间分辨率极高&…