一个集成了 Spring AI 和 SearXNG 搜索引擎的示例项目,展示如何使用 Spring Boot 构建智能搜索应用。
本项目演示了如何将 Spring AI 框架与 SearXNG 开源搜索引擎结合使用,实现智能搜索功能。通过 Ollama 本地大语言模型提供 AI 能力,SearXNG 提供搜索服务。
src/ ├── main/ │ ├── java/org/example/springai/ │ │ ├── SpringAiSearxngApplication.java # 主启动类 │ │ ├── config/ │ │ │ └── AiConfig.java # AI 配置 │ │ └── searxng/ │ │ ├── config/ │ │ │ └── SearxngProperties.java # SearXNG 配置属性 │ │ ├── controller/ │ │ │ └── SearxngController.java # REST 控制器 │ │ ├── dto/ │ │ │ └── SearchResult.java # 搜索结果 DTO │ │ └── service/ │ │ ├── SearxngService.java # 服务接口 │ │ └── impl/ │ │ └── SearxngServiceImpl.java # 服务实现 │ └── resources/ │ └── application.yml # 应用配置 ├── test/ │ └── java/org/example/springai/ │ └── WebClientTests.java # Web 客户端测试 └── doc/ └── searxng/ # SearXNG 部署文档 ├── docker-compose.yml └── config/ └── settings.yml
cd doc/searxng
docker-compose up -d
SearXNG 将在 http://localhost:8888 启动。
# 安装 Ollama (如果尚未安装)
curl -fsSL https://ollama.ai/install.sh | sh
# 启动 Ollama 服务
ollama serve
# 拉取模型 (在新终端中执行)
ollama pull qwen3:8b
Ollama 将在 http://localhost:11434 启动。
# 克隆项目
git clone <repository-url>
cd spring-ai-searxng-example
# 编译并运行
mvn spring-boot:run
应用将在 http://localhost:8080 启动。