NextGenSearch OpenSearch MCP演示
一个完整的演示项目,展示了OpenSearch与模型上下文协议(MCP)的集成,用于与Amazon Q和Anthropic Claude Desktop进行自然语言交互。
使用大型语言模型(LLM)和模型上下文协议(MCP)的下一代人工智能搜索扩展了具有持久内存的自然语言查询的功能,以提供会话搜索体验。
模型上下文协议正在成为RAG(检索增强生成)和知识库集成的事实标准,允许多个AI代理与服务无缝连接,以增强LLM响应
演示
https://www.youtube.com/watch?v=bHra8VwQvR8
🚀 快速开始
克隆此存储库并在几分钟内启动并运行:
macOS/Linux:
git clone https://github.com/daggumalli/NextGenSearch-OpenSearch-MCP.git
cd NextGenSearch-OpenSearch-MCP
./setup.sh窗户:
git clone https://github.com/daggumalli/NextGenSearch-OpenSearch-MCP.git
cd NextGenSearch-OpenSearch-MCP
setup.bat📋 先决条件
- 已安装Docker和Docker Compose
- 已安装Python 3.10+
- uv安装(Python包管理器)-由安装脚本自动安装
- Amazon Q CLI或Anthropic Claude桌面
- 最低16GB RAM(建议32GB)
🏗️ 运作原理
架构流程
👤 User Query → 🤖 Claude Desktop → 📡 MCP Protocol → 🔧 OpenSearch MCP Server → 🔍 OpenSearch Service
↓
📊 Sample Data ← 📚 Books Index + 🛍️ Products Index + 📰 Articles Index ←────────────────┘组件交互:
- 用户 在Claude Desktop中提出自然语言问题
- 克劳德桌面 向OpenSearch MCP服务器发送MCP请求
- MCP服务器 转换为OpenSearch API调用
- OpenSearch 处理查询并返回结果
- 响应流返回 通过链条到达用户
🖥️ 与跨平台支持
此演示适用于 Windows、macOS和Linux:
- 视窗:使用
setup.bat和.bat脚本 - macOS/Linux:使用
setup.sh和.sh脚本 - 码头工人:所有平台都相同
- MCP服务器:与合作
uvx在所有平台上
Windows特定注意事项:
- 需要PowerShell
uv安装 - 用途
%APPDATA%\Claude\用于Claude桌面配置 - 自动检测
uvx.exe路径在%USERPROFILE%\.local\bin\
🏗️ 包含内容
- 本地OpenSearch实例:在启用安全性的情况下完成Docker设置
- 样品数据:用于即时测试的预加载数据集
- MCP服务器配置:适用于Amazon Q和Claude的即用型配置
- 查询示例:自然语言示例,助你入门
- 自动设置:一次指挥部署
📁 项目结构
├── docker/ # Docker configurations
│ ├── docker-compose.yml # OpenSearch and Dashboards setup
│ └── certs/ # SSL certificates (generated)
├── data/ # Sample datasets
│ └── sample_datasets.json
├── configs/ # MCP configurations
│ ├── claude_desktop_config.json
│ └── amazon_q_mcp.json
├── scripts/ # Setup and utility scripts
│ ├── load_sample_data.sh # macOS/Linux
│ ├── load_sample_data.bat # Windows
│ ├── setup_mcp_configs.sh # macOS/Linux
│ └── setup_mcp_configs.bat # Windows
├── examples/ # Example queries and use cases
│ └── natural_language_queries.md
├── docs/ # Additional documentation
│ └── SETUP_GUIDE.md
├── setup.sh # Main setup script (macOS/Linux)
└── setup.bat # Main setup script (Windows)设置
- 克隆和设置:
成功安装安装脚本后
- 访问OpenSearch:
- OpenSearch API:https://localhost:9200 - OpenSearch仪表板:https://localhost:5601 - 默认凭据: admin / yourStrongPassword123!
- 为用户交互和搜索配置您的Claude LLM:
- 安装脚本会自动配置Claude Desktop(https://www.claude.com/download)亚马逊Q - 正如我们的架构流程中所讨论的,Claude Desktop就像一个AI应用程序(或AI代理),用户可以使用此界面与OpenSearch聊天。 - 转到克劳德桌面设置,并更新MCP配置。此MCP配置将包含通过MCP协议连接到OpenSearch实例所需的所有详细信息。 - 安装Claude桌面后,导航到配置文件>>设置>>开发人员>>编辑配置(本地MCP服务器) Claude Desktop Local MCP server config - 使用config/claude_desktop_config json更新配置文件信息 Claude Desktop MCP config json - 记住在“命令”中为uvx使用正确的路径:“/Users/斯里坎达古马里/.local/bin/uvx”, - 自动检测正确的uvx路径 对于您的系统 - 重新启动LLM应用程序以加载新配置
- 添加示例数据
从OpenSearch实例中,打开Dashboards DevTools示例数据。您可以加载此提供的示例数据,并且可以默认加载。 步骤1:登录OpenSearch仪表板页面。在登录页面上,一旦您在全局上确认,您将看到一个添加示例数据的选项。
OpenSearch Dashboard Add sample data 1
步骤2:在“添加示例数据”页面中,添加“示例电子商务订单”和“示例可观察性日志、跟踪和指标”。添加数据后,您可以从同一页面查看数据。
OpenSearch Dashboard Add sample data 2
- 验证来自DevTools的数据
OpenSearch Dashboard Add sample data 2
- 尝试自然语言查询:
"Show me all available indices"
"Search for products"
"Create a sales data insights"
"give me performance bottlenecks from observability logs"🔧 手动设置
如果您更喜欢手动设置或需要自定义配置,请参阅我们的 详细设置指南.
📊 样品数据
演示包括三个预加载的索引和样本数据:
- 样本书:带有元数据的经典文献
- 样品产品:电子商务产品目录
- 样本_文章:技术文章和博客文章
💡 示例用例
电子商务搜索
"Find all electronics under $100 that are in stock"
"Show me the most expensive products by category"
"Search for wireless products with good ratings"内容管理
"Find articles about search technology published this year"
"Search for books by publication decade"
"Show me the most popular articles by views"数据分析
"What's the average rating of books by genre?"
"Count products by category and stock status"
"Show me price distribution across all products"🛠️ 故障排除
快速修复
未找到MCP服务器:
- 检查uvx路径:
which uvx(macOS/Linux)或where uvx(Windows) - 安装后重新启动LLM应用程序
- 看 详细的故障排除指南
OpenSearch连接失败:
- 验证OpenSearch是否正在运行:
docker ps - 检查日志:
docker-compose -f docker/docker-compose.yml logs opensearch - 看 OpenSearch服务问题
Python版本问题:
- OpenSearch MCP服务器需要Python 3.10+
- 看 Python版本故障排除
SSL证书问题:
- 检查MCP配置中的SSL环境变量
- 看 SSL故障排除指南
📚 综合指南:
🔒 安全说明
此演示使用开发友好的设置:
- 自签名SSL证书
- 默认密码
- 已禁用SSL验证
用于生产用途:
- 使用强大、唯一的密码
- 实施正确的SSL证书
- 启用SSL验证
- 配置适当的网络安全
🤝 贡献
我们欢迎捐款!请随时:
- 报告错误
- 建议功能
- 提交拉取请求
- 改进文档
📚 文档和资源
📖 项目文档
🔗 外部资源
- OpenSearch文档
- MCP协议文件
- 克劳德桌面 -下载克劳德桌面
- 亚马逊Q -AWS人工智能助手
🛑 停止演示
要停止所有服务,请执行以下操作:
docker-compose -f docker/docker-compose.yml down要删除所有数据,请执行以下操作:
docker-compose -f docker/docker-compose.yml down -v______________________________________________________________________
快乐搜索! 🔍✨
