# Next Search Engine **Repository Path**: colid/NSE ## Basic Information - **Project Name**: Next Search Engine - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-30 - **Last Updated**: 2026-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NSE - Next Search Engine 一个轻量级、自托管的搜索引擎,支持全网爬虫抓取、全文检索和AI搜索摘要。采用Go单体架构,资源占用小,部署简单,界面纯净无广告。 ## 功能特性 - **全网爬虫**:基于Colly的高性能爬虫,支持并发、去重、速率控制 - **全文索引**:基于Bleve的倒排索引,支持BM25相关度排序 - **网页搜索**:关键词搜索,结果高亮,分页展示 - **AI 摘要**:调用OpenAI兼容API,对搜索结果生成智能摘要(支持流式输出) - **Web界面**:简洁搜索页 + 结果页 + 管理面板,纯净无广告 - **管理面板**:爬虫控制、索引统计、系统配置 ## 技术栈 | 层级 | 技术选型 | |------|----------| | 后端语言 | Go 1.21+ | | Web框架 | Gin | | 爬虫框架 | Colly | | 全文索引 | Bleve | | 关系存储 | SQLite (go-sqlite3) | | AI接口 | OpenAI兼容API | | 前端 | 原生HTML/CSS/JS | ## 快速开始 ### 编译 ```bash cd nse go build -o nse_server ./cmd/nse/ ``` ### 运行 ```bash ./nse_server ``` 服务默认启动在 `http://localhost:8080` - 搜索首页:http://localhost:8080 - 管理面板:http://localhost:8080/admin ### 配置 首次运行会在 `data/` 目录下自动生成 `config.json` 配置文件。你可以直接编辑该文件或通过管理面板修改配置。 也可以使用环境变量覆盖部分配置: ```bash NSE_PORT=8080 # 服务端口 NSE_MODE=debug # Gin运行模式 NSE_AI_API_KEY=your-api-key # AI API Key NSE_AI_BASE_URL=your-base-url # AI API Base URL NSE_DATA_DIR=./data # 数据目录 ``` ## 目录结构 ``` nse/ ├── cmd/ │ └── nse/ │ └── main.go # 程序入口 ├── internal/ │ ├── config/ # 配置管理 │ ├── crawler/ # 爬虫模块 │ ├── indexer/ # 索引模块 │ ├── search/ # 搜索服务 │ ├── ai/ # AI摘要服务 │ ├── storage/ # 数据存储 │ ├── server/ # Web服务器 │ └── templates/ # 前端模板 ├── data/ # 数据目录(运行时生成) └── go.mod ``` ## 使用说明 ### 1. 启动爬虫 1. 访问管理面板 `http://localhost:8080/admin` 2. 在"爬虫控制"区域点击"启动爬虫" 3. 或添加自定义种子URL ### 2. 配置 AI 摘要 1. 在管理面板"系统配置"区域 2. 勾选"启用 AI 摘要" 3. 填入 API Base URL(支持OpenAI兼容接口) 4. 填入 API Key 5. 选择模型名称 6. 点击"保存配置" ### 3. 搜索 1. 访问首页输入关键词搜索 2. 搜索结果页左侧显示网页结果 3. 右侧显示AI智能摘要(流式输出) ## API 接口 ### 搜索 ``` GET /api/search?q=关键词&page=1&size=10 ``` ### 系统状态 ``` GET /api/stats ``` ## 爬虫配置说明 | 参数 | 默认值 | 说明 | |------|--------|------| | Concurrency | 5 | 并发爬取数量 | | RateLimit | 2 | 每秒请求数(速率限制) | | MaxDepth | 3 | 最大爬取深度 | | SeedURLs | [https://example.com] | 种子URL列表 | | AllowedDomains | [] | 允许的域名(空表示允许所有) | | BlockedDomains | [] | 屏蔽的域名 | | RespectRobots | true | 是否遵守robots.txt | | RetryTimes | 3 | 失败重试次数 | ## 系统要求 - Go 1.21+ - 内存:500MB以上(空闲时约100MB) - 磁盘:根据索引大小而定,建议10GB以上 ## 注意事项 - 请合理设置爬虫参数,遵守目标网站的robots.txt和使用条款 - 建议从小规模爬取开始测试,逐步扩大范围 - AI摘要功能需要配置可用的API服务 ## License MIT