杂货MCP服务器
设置
数据集设置
- 创建数据集目录:
mkdir dataset- 从Kaggle下载杂货数据集:
kaggle datasets download -d maximsakhan/rc-superstore-grocery-data -p dataset/- 提取数据集:
unzip dataset/rc-superstore-grocery-data.zip -d dataset/该数据集包含每月的杂货数据文件:
- 杂货_数据_詹_2025.csv
- 杂货店_数据_网站_2025.csv
- 杂货_数据\_ 2025.csv
- 杂货店_数据_apr_2025.csv
- 杂货_数据\_ 2025.csv
- 杂货_数据\_ un_2025.csv
- 杂货_数据\_ ul_2025.csv
- 杂货店_数据_aug_2025.csv
- 杂货_数据_sep_2023.csv
- 杂货_数据_sep_2023_clean.sv
Elasticsearch设置
- 使用Docker Compose启动Elasticsearch:
docker-compose up -d- 验证Elasticsearch是否正在运行:
curl http://localhost:9200- 要停止Elasticsearch:
docker-compose down- 使用映射创建Elasticsearch索引:
./create_index.sh- 安装Python依赖项:
pip install -r requirements.txt- 用类别映射填充Redis集群:
python populate_categories.py- 将数据引入Elasticsearch:
python ingest_data.pyDocker Compose配置包括:
- Elasticsearch 8.19.2(ARM64版本)
- 单节点开发设置
- 为简单起见,已禁用安全性
- 具有命名卷的数据持久性
- 服务监控的健康检查
- Redis集群(3个节点)用于存储类别键值
- 自动群集初始化
数据模式
数据集包含具有不同架构的文件:
架构类型
- 2023格式:7-9列的简单模式(名称、当前价格、先前价格等)
- 2025格式:复杂的电子商务模式,有54-66列(产品ID、品牌、定价详情等)
统一架构
统一的模式(unified_schema.json)已创建用于规范所有文件格式的数据。关键映射包括:
| 统一字段 | 2025格式 | 2023格式 |
|---|---|---|
| productId | productId | 产品ID |
| 名称 | 标题 | 姓名 |
| 当前价格 | 定价.price | 当前价格 |
| 上一个价格 | 定价.was价格 | 上一个价 |
| 类别 | - | 类别 |
| productUrl | 链接 | 产品URL |
看 unified_schema.json 以获取完整的字段映射和转换规则。
