Solr Vector Search

Solr Vector Search

🚀 Solr MCP 介绍

Solr MCP 是一个 Python 包,借助模型上下文协议(MCP),可访问 Apache Solr 索引。它让 Claude 这类 AI 助手能对 Solr 索引执行强大搜索查询,融合了关键字搜索与向量搜索功能。

🚀 快速开始

  1. 克隆此仓库
  2. 使用 Docker 启动 SolrCloud:
    docker-compose up -d
    
  3. 安装依赖项:
    python -m venv venv
    source venv/bin/activate  # 在 Windows 上:venv\Scripts\activate
    pip install poetry
    poetry install
    
  4. 处理并索引示例文档:
    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
    
  5. 运行 MCP 服务器:
    poetry run python -m solr_mcp.server
    

有关更详细的设置和使用说明,请参阅QUICKSTART.md指南。

✨ 主要特性

  • MCP 服务器:实现模型上下文协议,便于与 AI 助手集成。
  • 混合搜索:结合关键字搜索的精确性与向量搜索的语义理解。
  • 向量嵌入:利用 Ollama 和 nomic-embed-text 生成文档嵌入。
  • 统一集合:在同一集合中存储文档内容和向量嵌入。
  • Docker 集成:通过 Docker 和 docker-compose 实现轻松安装。
  • 优化的向量搜索:将 SQL 过滤条件推送到向量搜索阶段,高效处理包含向量和 SQL 查询的组合,确保即使在大量结果集和分页情况下也能实现最佳性能。

🔧 技术细节

向量搜索优化

系统采用了一种重要的优化方法来处理同时包含向量相似性和 SQL 过滤条件的查询:

  1. 将 SQL 过滤条件(WHERE 子句)推送到向量搜索阶段。
  2. 确保仅对最终满足 SQL 标准的文档执行向量相似性计算。
  3. 显著提升以下查询的性能:
    • 具有选择性的 WHERE 子句。
    • 分页(LIMIT/OFFSET)。
    • 大结果集。

这种优化通过减少计算开销和网络传输,最大限度地减少了所需的向量相似性计算数量。

📦 安装指南

要求

  • Python 3.10 或更高版本。
  • Docker 和 Docker Compose。
  • SolrCloud 9.x。
  • Ollama(用于嵌入生成)。

📄 许可证

本项目遵循 MIT 许可证,具体信息请查看 LICENSE 文件。

🤝 贡献

欢迎贡献!请参阅CONTRIBUTING.md了解指南。

  • 0 关注
  • 0 收藏,30 浏览
  • system 提出于 2025-09-19 09:09

相似服务问题

相关AI产品