# 智能搜索系统 - 简单实用版 一个基于RSS订阅和API的智能搜索系统,支持8个行业的权威信息检索和自动文档生成。 ## 🌟 核心特性 - **英文优先搜索**: 默认英文搜索,包含中文关键词时自动切换 - **8行业覆盖**: 金融、AI/软件、制造业、医疗制药、快消品、零售电商、能源化工、房地产建筑 - **权威信源**: 200+ RSS源,按权威级别分类(官方机构 > 主流媒体 > 专业平台) - **多种接口**: 命令行、Web界面、RSS监控器 - **自动导出**: 搜索结果自动生成DOCX报告 - **实时监控**: RSS源自动更新,建立本地文章数据库 ## 🚀 快速开始 ### 1. 安装依赖 ```bash cd 搜索/代码实现 pip install -r requirements.txt ``` **必需依赖:** ```bash pip install requests feedparser python-docx ``` **可选依赖 (增强功能):** ```bash pip install flask newsapi-python pandas ``` ### 2. 配置API密钥 (可选) 创建环境变量或修改 `config.py`: ```bash # NewsAPI (可选 - 增强英文搜索) export NEWSAPI_KEY="your_newsapi_key" # Twitter API (可选 - 社交媒体搜索) export TWITTER_BEARER_TOKEN="your_twitter_token" # Alpha Vantage (可选 - 金融数据) export ALPHA_VANTAGE_KEY="your_alphavantage_key" ``` ### 3. 启动系统 #### 方式一: 交互命令行 (推荐新手) ```bash python main.py ``` #### 方式二: Web界面 ```bash python main.py --mode web --port 5000 ``` 打开 http://localhost:5000 #### 方式三: 直接搜索 ```bash python main.py --query "AI breakthrough 2024" --export ``` #### 方式四: 启动RSS监控器 ```bash python main.py --mode monitor ``` ## 📖 使用指南 ### 命令行搜索示例 ```bash # 基础搜索 >>> AI ethics regulation # 行业搜索 >>> search renewable energy policy # 中文搜索 (自动检测) >>> 英伟达最新财报 # 查看统计 >>> stats # 查看历史 >>> history # 帮助 >>> help ``` ### 搜索语言自动检测 - **英文搜索**: `AI breakthrough`, `Tesla earnings`, `oil prices` - **中文搜索**: `中国AI政策`, `英伟达财报`, `新能源汽车` - **强制中文**: 包含关键词: `中国`, `国内`, `A股`, `人民币`, `央行` ### 支持的行业 | 行业代码 | 中文名称 | 主要信源 | |---------|---------|----------| | `finance` | 金融行业 | Fed, SEC, Bloomberg, Reuters | | `ai_software` | AI与软件 | arXiv, Google AI, OpenAI, TechCrunch | | `manufacturing` | 制造业 | ISO, IEEE, Industry Week | | `healthcare_pharma` | 医疗制药 | FDA, NIH, STAT News | | `fmcg` | 快消品 | Nielsen, Euromonitor | | `ecommerce_retail` | 零售电商 | Shopify, eMarketer | | `energy_chemical` | 能源化工 | IEA, Energy.gov | | `real_estate` | 房地产建筑 | HUD, Construction Dive | ## 📁 文件结构 ``` 搜索/代码实现/ ├── main.py # 主程序入口 ├── config.py # 配置文件 ├── database.py # 数据库操作 ├── search_engine.py # 搜索引擎 ├── rss_monitor.py # RSS监控器 ├── document_exporter.py # 文档导出器 ├── database_schema.sql # 数据库结构 ├── requirements.txt # 依赖包 ├── data/ # 数据目录 │ ├── search_system.db # SQLite数据库 │ └── search_system.log # 系统日志 └── 新闻/ # 导出文档目录 └── *.docx # 生成的报告 ``` ## 🔧 高级配置 ### 自定义RSS源 编辑 `config.py` 中的 `RSS_SOURCES`: ```python RSS_SOURCES = { 'finance': [ { 'name': 'Your Custom Source', 'url': 'https://example.com/rss.xml', 'authority_level': 2, # 1=官方, 2=主流, 3=专业 'language': 'en' } ] } ``` ### 调整搜索参数 修改 `config.py` 中的 `SEARCH_CONFIG`: ```python SEARCH_CONFIG = { 'max_results_per_source': 50, # 每源最大结果数 'min_relevance_score': 0.3, # 最低相关性分数 'keywords_for_china': ['中国', '国内'] # 中文检测关键词 } ``` ### RSS监控频率 调整 `RSS_MONITOR_CONFIG`: ```python RSS_MONITOR_CONFIG = { 'check_interval': 3600, # 检查间隔(秒) - 3600=1小时 'max_retries': 3, # 最大重试次数 'timeout': 30 # 请求超时(秒) } ``` ## 🎯 使用场景 ### 场景一: 行业研究 ```bash python main.py --query "renewable energy investment 2024" --industry energy_chemical --export ``` ### 场景二: 竞争情报 ```bash python main.py --query "Tesla quarterly results" --industry ai_software --export ``` ### 场景三: 政策追踪 ```bash python main.py --query "FDA drug approval" --industry healthcare_pharma --export ``` ### 场景四: 技术趋势 ```bash python main.py --query "quantum computing breakthrough" --industry ai_software --export ``` ## 📊 导出文档格式 生成的DOCX文档包含: 1. **标题页**: 搜索关键词、行业、日期 2. **搜索信息**: 参数、结果统计 3. **文章列表**: - 标题和来源信息 - 权威级别标注 - 发布时间和相关性评分 - 文章摘要 - 原文链接 (可点击) 文件命名规则: - 英文: `YYYYMMDD_industry_keywords.docx` - 中文: `YYYYMMDD_industry_keywords_CN.docx` ## 🔍 故障排除 ### 常见问题 **Q: RSS源无法访问怎么办?** A: 系统会自动重试和降级处理,单个源失败不影响整体搜索。 **Q: 搜索结果太少?** A: 1. 检查关键词是否过于具体 2. 尝试不指定行业进行全局搜索 3. 确保RSS监控器已运行一段时间累积数据 **Q: 如何提高搜索质量?** A: 1. 配置NewsAPI等付费API 2. 添加更多RSS源 3. 调整相关性评分算法 ### 日志查看 ```bash # 查看系统日志 tail -f data/search_system.log # 查看RSS监控状态 python -c "from rss_monitor import RSSMonitor; print(RSSMonitor().get_monitor_status())" ``` ### 数据库维护 ```bash # 查看统计信息 python -c "from database import DatabaseManager; print(DatabaseManager().get_statistics())" # 手动检查RSS源 python -c "from rss_monitor import RSSMonitor; print(RSSMonitor().manual_check_source(1))" ``` ## 🚀 性能优化 ### 建议配置 - **CPU**: 2核心以上 (并行RSS处理) - **内存**: 4GB以上 (大量文章缓存) - **存储**: 10GB以上 (数据库和文档) - **网络**: 稳定外网连接 (RSS和API访问) ### 扩展建议 1. **数据库**: SQLite → MySQL/PostgreSQL (大规模数据) 2. **搜索**: 基础匹配 → Elasticsearch (全文搜索) 3. **NLP**: 简单关键词 → BERT/GPT (语义搜索) 4. **缓存**: 无 → Redis (快速响应) ## 📞 技术支持 - **文档问题**: 检查RSS源状态和网络连接 - **搜索问题**: 查看日志文件定位错误 - **性能问题**: 调整监控频率和结果数量限制 系统设计为轻量级和容错性,单个组件故障不会影响整体功能。