# dudu-search **Repository Path**: pretend-work/dudu-search ## Basic Information - **Project Name**: dudu-search - **Description**: DuduSearch是一个简单高效的搜索引擎,模仿百度搜索的基本功能,支持关键词搜索、结果分页、相关推荐等特性。本项目采用Python Flask框架开发,适合学习搜索引擎原理和Web开发。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-11-07 - **Last Updated**: 2025-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DuduSearch Engine ## 项目简介 DuduSearch是一个简单高效的搜索引擎,模仿百度搜索的基本功能,支持关键词搜索、结果分页、相关推荐等特性。本项目采用Python Flask框架开发,适合学习搜索引擎原理和Web开发。 ## 主要功能特性 - 🔍 **关键词搜索**:支持中英文混合搜索 - 📊 **相关度排序**:基于TF-IDF算法的搜索结果排序 - 📱 **响应式设计**:适配桌面端和移动端 - 📑 **结果分页**:支持搜索结果分页浏览 - 🔧 **API接口**:提供RESTful API接口 - 💾 **数据持久化**:搜索索引自动保存 - 🎨 **简洁界面**:现代化的用户界面设计 ## 技术栈 - **后端**:Python 3.x, Flask 3.x - **前端**:HTML5, CSS3, JavaScript - **依赖库**: - Flask - Web框架 - BeautifulSoup4 - HTML解析 - Requests - HTTP请求 - NLTK - 自然语言处理 - Pandas - 数据处理 - Scikit-learn - 机器学习工具 ## 项目结构 ``` dudusearch/ ├── backend/ # 后端代码目录 │ ├── __init__.py # 包初始化文件 │ ├── app.py # Flask应用主文件 │ └── search_engine.py # 搜索引擎核心功能 ├── data/ # 数据存储目录 │ └── search_index.json # 搜索索引文件 ├── frontend/ # 前端资源目录 ├── static/ # 静态资源文件 │ └── favicon.ico # 网站图标 ├── templates/ # HTML模板目录 │ ├── index.html # 首页模板 │ └── search_results.html # 搜索结果页模板 ├── requirements.txt # Python依赖列表 └── README.md # 项目说明文档 ``` ## 安装说明 ### 1. 克隆项目(或直接下载) ```bash git clone https://example.com/dudusearch.git cd dudusearch ``` ### 2. 安装依赖 ```bash python -m pip install -r requirements.txt ``` ## 使用方法 ### 启动服务 ```bash cd backend python app.py ``` 服务启动后,浏览器访问:http://127.0.0.1:5000 ### 搜索功能 1. 在首页搜索框中输入关键词 2. 点击搜索按钮或按回车 3. 在结果页查看搜索结果 4. 可以通过分页导航浏览更多结果 ### API使用 #### 搜索API ``` GET /api/search?q=关键词 ``` **响应格式**: ```json { "query": "搜索关键词", "results": [ { "doc_id": "文档ID", "title": "文档标题", "url": "文档链接", "snippet": "文档摘要", "score": 相关度分数 } ], "total": 结果总数 } ``` #### 添加文档API ``` POST /api/index Content-Type: application/json { "title": "文档标题", "url": "文档链接", "content": "文档内容" } ``` #### 更新索引API ``` POST /api/update-index ``` ## 示例数据 系统内置了5条示例数据,包括: - Python编程入门教程 - Flask框架介绍 - 搜索引擎原理与实现 - 机器学习基础课程 - 数据结构与算法 您可以直接搜索这些关键词体验功能。 ## 开发说明 ### 添加更多数据 1. 使用API接口添加文档 2. 或者修改`app.py`中的`add_sample_data()`函数添加更多示例数据 ### 搜索算法优化 当前使用简单的TF-IDF算法,可以在`search_engine.py`中修改`search()`方法来优化搜索算法。 ## 未来规划 - [ ] 集成专业中文分词库(如jieba) - [ ] 实现网页爬虫自动抓取内容 - [ ] 添加用户搜索历史功能 - [ ] 实现搜索建议和自动补全 - [ ] 优化搜索排序算法 - [ ] 增加缓存机制提升性能 ## 许可证 本项目采用MIT许可证。 ## 贡献指南 欢迎提交Issue和Pull Request来改进本项目。 ## 联系方式 如有问题或建议,请联系:example@example.com