article
README
🚀 Solr MCP 介绍
Solr MCP 是一个 Python 包,借助模型上下文协议(MCP),可访问 Apache Solr 索引。它让 Claude 这类 AI 助手能对 Solr 索引执行强大搜索查询,融合了关键字搜索与向量搜索功能。
🚀 快速开始
- 克隆此仓库
- 使用 Docker 启动 SolrCloud:
docker-compose up -d - 安装依赖项:
python -m venv venv source venv/bin/activate # 在 Windows 上:venv\Scripts\activate pip install poetry poetry install - 处理并索引示例文档:
python scripts/process_markdown.py data/bitcoin-whitepaper.md --output data/processed/bitcoin_sections.json python scripts/create_unified_collection.py unified python scripts/unified_index.py data/processed/bitcoin_sections.json --collection unified - 运行 MCP 服务器:
poetry run python -m solr_mcp.server
有关更详细的设置和使用说明,请参阅QUICKSTART.md指南。
✨ 主要特性
- MCP 服务器:实现模型上下文协议,便于与 AI 助手集成。
- 混合搜索:结合关键字搜索的精确性与向量搜索的语义理解。
- 向量嵌入:利用 Ollama 和 nomic-embed-text 生成文档嵌入。
- 统一集合:在同一集合中存储文档内容和向量嵌入。
- Docker 集成:通过 Docker 和 docker-compose 实现轻松安装。
- 优化的向量搜索:将 SQL 过滤条件推送到向量搜索阶段,高效处理包含向量和 SQL 查询的组合,确保即使在大量结果集和分页情况下也能实现最佳性能。
🔧 技术细节
向量搜索优化
系统采用了一种重要的优化方法来处理同时包含向量相似性和 SQL 过滤条件的查询:
- 将 SQL 过滤条件(WHERE 子句)推送到向量搜索阶段。
- 确保仅对最终满足 SQL 标准的文档执行向量相似性计算。
- 显著提升以下查询的性能:
- 具有选择性的 WHERE 子句。
- 分页(LIMIT/OFFSET)。
- 大结果集。
这种优化通过减少计算开销和网络传输,最大限度地减少了所需的向量相似性计算数量。
📦 安装指南
要求
- Python 3.10 或更高版本。
- Docker 和 Docker Compose。
- SolrCloud 9.x。
- Ollama(用于嵌入生成)。
📄 许可证
本项目遵循 MIT 许可证,具体信息请查看 LICENSE 文件。
🤝 贡献
欢迎贡献!请参阅CONTRIBUTING.md了解指南。
微信扫一扫