返回市场
索尔服务器

索尔服务器

作者:allenday18 星标更新:2025-03-25

项目介绍

Solr MCP

一个通过模型上下文协议(MCP)访问Apache Solr索引的Python包。此集成允许像Claude这样的AI助手对Solr索引执行强大的搜索查询,结合了关键词和向量搜索的能力。

特性

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

架构

向量搜索优化

系统采用了一种重要的优化方法来处理组合的向量和SQL查询。当执行包括向量相似度搜索和SQL过滤器的查询时:

  1. 将SQL过滤器(WHERE子句)推送到向量搜索阶段
  2. 这确保了仅对最终匹配SQL标准的文档进行向量相似度计算
  3. 显著提高了以下查询的性能:
    • 具有选择性的WHERE子句
    • 分页(LIMIT/OFFSET)
    • 大型结果集

这种优化减少了计算开销和网络传输,通过最小化所需的向量相似度计算数量来实现。

快速开始

  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指南。

要求

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

许可证

本项目根据MIT许可证发布 - 详情见LICENSE文件。

贡献

欢迎贡献!请参阅CONTRIBUTING.md以获取指导方针。