Blame view

docs/环境配置说明.md 4.8 KB
be52af70   tangwang   first commit
1
  
a7920e17   tangwang   项目名称和部署路径修改
2
  ## 1. 系统要求
670c701f   tangwang   文档完善
3
  
a7920e17   tangwang   项目名称和部署路径修改
4
5
6
7
8
9
10
  - **操作系统**:Linux(推荐 Ubuntu 18.04+)
  - **Conda**:Miniconda3 或 Anaconda(用于 Python 环境隔离)
  - **Python**:3.10(由 Conda 环境提供)
  - **内存**:建议 8GB+(含模型与 ES)
  - **磁盘**:10GB+(含模型与索引)
  
  ---
670c701f   tangwang   文档完善
11
12
13
  
  ## 2. Python 运行环境
  
a7920e17   tangwang   项目名称和部署路径修改
14
15
  **推荐方式(与项目脚本一致)**:使用项目根目录下的 `activate.sh` 激活环境,会自动加载当前目录下的 `.env`(忽略注释与空行):
  
670c701f   tangwang   文档完善
16
  ```bash
a7920e17   tangwang   项目名称和部署路径修改
17
18
19
  cd /data/saas-search
  source activate.sh
  ```
2c9fad19   tangwang   撰写接口文档
20
  
a7920e17   tangwang   项目名称和部署路径修改
21
22
23
24
25
26
  `activate.sh` 会激活 Conda 环境 `searchengine`。若在新机器上部署,请先设置本机 Conda 路径再执行:
  
  ```bash
  # 你的 conda 在 ~/anaconda3/bin/conda,则 CONDA_ROOT=~/anaconda3
  export CONDA_ROOT=$HOME/anaconda3   # 或你的 Conda 安装路径(如 /home/ubuntu/anaconda3)
  source activate.sh
670c701f   tangwang   文档完善
27
28
  ```
  
a7920e17   tangwang   项目名称和部署路径修改
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
  **新机器首次部署(创建环境)**:若本机尚未创建 `searchengine` 环境,任选其一:
  
  - **方式 A(推荐,与 environment.yml 一致)**
    ```bash
    cd /data/saas-search
    export CONDA_ROOT=$HOME/anaconda3   # 或你的 Conda 安装路径
    conda env create -f environment.yml
    source activate.sh
    ```
  - **方式 B(仅 pip)**
    ```bash
    conda create -n searchengine python=3.10 -y
    conda activate searchengine
    cd /data/saas-search
    pip install -r requirements.txt
    ```
  
  之后日常使用执行 `source activate.sh` 即可(如需可先 `export CONDA_ROOT=...`)。
  
670c701f   tangwang   文档完善
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
  ---
  
  ## 3. 外部服务与端口
  
  | 服务 | 默认地址 | 说明 |
  |------|----------|------|
  | Elasticsearch | `http://localhost:9200` | 可通过 Docker 单节点启动 |
  | MySQL | `120.79.247.228:3316` | 存放店匠 SPU/SKU 数据 |
  | Redis(可选) | `localhost:6479` | Embedding/翻译缓存 |
  
  示例:使用 Docker 启动 Elasticsearch
  
  ```bash
  docker run -d \
    --name elasticsearch \
    -p 9200:9200 \
    -e "discovery.type=single-node" \
    -e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
    elasticsearch:8.11.0
  ```
  
  ---
  
  ## 4. 环境变量与 `.env` 模板
  
  在项目根目录创建 `.env`,并根据环境替换敏感信息:
  
  ```env
  # MySQL
  DB_HOST=120.79.247.228
  DB_PORT=3316
  DB_DATABASE=saas
  DB_USERNAME=saas
  DB_PASSWORD=P89cZHS5d7dFyc9R
  
  # Elasticsearch
  ES_HOST=http://localhost:9200
  ES_USERNAME=essa
  ES_PASSWORD=4hOaLaf41y2VuI8y
  
  # Redis(可选)
  REDIS_HOST=localhost
  REDIS_PORT=6479
  REDIS_PASSWORD=BMfv5aI31kgHWtlx
  
  # DeepL 翻译
  DEEPL_AUTH_KEY=c9293ab4-ad25-479b-919f-ab4e63b429ed
  
  # API
  API_HOST=0.0.0.0
  API_PORT=6002
  ```
  
  ---
  
  ## 5. 服务凭证速查
  
  | 项目 | 值 |
  |------|----|
  | **MySQL** | host `120.79.247.228`, port `3316`, user `saas`, password `P89cZHS5d7dFyc9R` |
  | **Elasticsearch** | host `http://localhost:9200`, user `essa`, password `4hOaLaf41y2VuI8y` |
  | **Redis(可选)** | host `localhost`, port `6479`, password `BMfv5aI31kgHWtlx` |
  | **DeepL** | `c9293ab4-ad25-479b-919f-ab4e63b429ed` |
  
  > 所有凭证仅用于本地/测试环境,生产环境需替换并妥善保管。
  
  ---
  
  ## 6. 店匠数据源说明
  
a7920e17   tangwang   项目名称和部署路径修改
118
  saas-search 以 MySQL 中的店匠标准表为权威数据源:
670c701f   tangwang   文档完善
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  
  - `shoplazza_product_spu`:SPU 商品主表
  - `shoplazza_product_sku`:SKU 变体表
  
  ### `shoplazza_product_sku` 字段节选
  
  | 字段 | 类型 | 描述 |
  |------|------|------|
  | `id` | bigint(20) | SKU 主键 |
  | `spu_id` | bigint(20) | 对应 SPU |
  | `shop_id` | bigint(20) | 店铺 ID |
  | `shoplazza_product_id` | varchar(64) | 店匠商品 ID |
  | `title` | varchar(500) | 变体标题 |
  | `sku` | varchar(100) | SKU 编码 |
  | `price` | decimal(10,2) | 售价 |
  | `compare_at_price` | decimal(10,2) | 原价 |
  | `option1/2/3` | varchar(255) | 颜色/尺码等选项 |
  | `inventory_quantity` | int(11) | 库存 |
  | `image_src` | varchar(500) | 图片 |
  | `tenant_id` | bigint(20) | 租户 |
  | `create_time` | datetime | 创建时间 |
  | `update_time` | datetime | 更新时间 |
  | `deleted` | bit(1) | 逻辑删除标记 |
  
  > 完整字段、索引映射与 ES 对应关系详见 `INDEX_FIELDS_DOCUMENTATION.md`。
  
  ---
  
  ## 7. 相关脚本
  
a7920e17   tangwang   项目名称和部署路径修改
149
  - **`activate.sh`**(项目根目录):激活 Conda 环境 `searchengine` 并加载 `.env`**日常开发/部署以本脚本为准**
670c701f   tangwang   文档完善
150
151
  - `scripts/mock_data.sh`:一次性生成 Tenant1 Mock + Tenant2 CSV 数据并导入 MySQL
  - `scripts/ingest.sh <tenant_id> [recreate]`:从 MySQL 写入 Elasticsearch
a7920e17   tangwang   项目名称和部署路径修改
152
153
154
  - `run.sh` / `restart.sh`:服务启动/重启(内部会调用 `start_backend.sh` 等,同样使用 `CONDA_ROOT`
  
  **新机器部署**:若 Conda 未安装在默认路径(如 `/home/tw/miniconda3`),请在执行上述脚本前设置 `CONDA_ROOT`。例如你的 conda 是 `~/anaconda3/bin/conda`(即 `/home/ubuntu/anaconda3/bin/conda`),则设置:`export CONDA_ROOT=$HOME/anaconda3`。可将该行写入 `~/.bashrc` 或部署说明。
670c701f   tangwang   文档完善
155
  
a7920e17   tangwang   项目名称和部署路径修改
156
  更多脚本参数、日志与验证命令参见 `Usage-Guide.md` 与 `测试数据指南.md`
2c9fad19   tangwang   撰写接口文档

be52af70   tangwang   first commit