Commit ddc4abd12d7ea853fb51daa584f785542398be4f

Authored by tangwang
1 parent 9d186e7c

文档完善

Showing 1 changed file with 56 additions and 54 deletions   Show diff stats
docs/索引字段说明.md
... ... @@ -128,48 +128,50 @@
128 128  
129 129 ### 基础字段
130 130  
131   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
132   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
133   -| tenant_id | KEYWORD | 是 | 精确匹配 | SPU表 | tenant_id | BIGINT | 租户ID,用于多租户隔离 |
134   -| product_id | KEYWORD | 是 | 精确匹配 | SPU表 | id | BIGINT | 商品ID(SPU ID) |
135   -| handle | KEYWORD | 是 | 精确匹配 | SPU表 | handle | VARCHAR(255) | 商品URL handle |
  131 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  132 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  133 +| tenant_id | KEYWORD | 是 | SPU表 | tenant_id | BIGINT | BIGINT转字符串 | 租户ID,用于多租户隔离 |
  134 +| product_id | KEYWORD | 是 | SPU表 | id | BIGINT | BIGINT转字符串 | 商品ID(SPU ID) |
  135 +| handle | KEYWORD | 是 | SPU表 | handle | VARCHAR(255) | | 商品URL handle |
  136 +
  137 +数据预处理列留空表示该字段无需额外处理。
136 138  
137 139 ### 文本搜索字段
138 140  
139   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 说明 |
140   -|-----------|-----------|---------|---------|-----------|-----------|-------------|-----------|------|
141   -| title | TEXT | 是 | english | SPU表 | title | VARCHAR(512) | 3.0 | 商品标题,权重最高 |
142   -| brief | TEXT | 是 | english | SPU表 | brief | VARCHAR(512) | 1.5 | 商品简介 |
143   -| description | TEXT | 是 | english | SPU表 | description | TEXT | 1.0 | 商品详细描述 |
  141 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 数据预处理 | 说明 |
  142 +|-----------|-----------|---------|-----------|-----------|-------------|-----------|-------------|------|
  143 +| title | TEXT | 是 | SPU表 | title | VARCHAR(512) | 3.0 | | 商品标题,权重最高 |
  144 +| brief | TEXT | 是 | SPU表 | brief | VARCHAR(512) | 1.5 | | 商品简介 |
  145 +| description | TEXT | 是 | SPU表 | description | TEXT | 1.0 | | 商品详细描述 |
144 146  
145 147 ### SEO字段
146 148  
147   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 是否返回 | 说明 |
148   -|-----------|-----------|---------|---------|-----------|-----------|-------------|-----------|---------|------|
149   -| seo_title | TEXT | 是 | english | SPU表 | seo_title | VARCHAR(512) | 2.0 | 否 | SEO标题,用于提升相关性 |
150   -| seo_description | TEXT | 是 | english | SPU表 | seo_description | TEXT | 1.5 | 否 | SEO描述 |
151   -| seo_keywords | HKText | 是 | english(模糊)+keyword(精确) | SPU表 | seo_keywords | VARCHAR(1024) | 2.0 | 否 | SEO关键词,支持模糊匹配+精确过滤 |
  149 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 是否返回 | 数据预处理 | 说明 |
  150 +|-----------|-----------|---------|-----------|-----------|-------------|-----------|---------|-------------|------|
  151 +| seo_title | TEXT | 是 | SPU表 | seo_title | VARCHAR(512) | 2.0 | 否 | | SEO标题,用于提升相关性 |
  152 +| seo_description | TEXT | 是 | SPU表 | seo_description | TEXT | 1.5 | 否 | | SEO描述 |
  153 +| seo_keywords | HKText | 是 | SPU表 | seo_keywords | VARCHAR(1024) | 2.0 | 否 | 按逗号分割为list,去除空白项 | SEO关键词,支持模糊匹配+精确过滤 |
152 154  
153 155 ### 分类和标签字段
154 156  
155   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 是否返回 | 说明 |
156   -|-----------|-----------|---------|---------|-----------|-----------|-------------|-----------|---------|------|
157   -| vendor | TEXT | 是 | english | SPU表 | vendor | VARCHAR(255) | 1.5 | 是 | 供应商/品牌(文本搜索) |
158   -| vendor_keyword | HKText | 是 | 模糊+精确 | SPU表 | vendor | VARCHAR(255) | - | 否 | 供应商/品牌(HKText类型,keyword子字段用于过滤) |
159   -| product_type | TEXT | 是 | english | SPU表 | category | VARCHAR(255) | 1.5 | 是 | 商品类型(文本搜索) |
160   -| product_type_keyword | HKText | 是 | 模糊+精确 | SPU表 | category | VARCHAR(255) | - | 否 | 商品类型(HKText类型) |
161   -| tags | HKText | 是 | 模糊+精确 | SPU表 | tags | VARCHAR(1024) | 1.0 | 是 | 标签(HKText类型,支持搜索+过滤) |
162   -| tags_keyword | HKText | 是 | 模糊+精确 | SPU表 | tags | VARCHAR(1024) | - | 否 | 标签keyword别名(HKText类型) |
163   -| category | TEXT | 是 | english | SPU表 | category | VARCHAR(255) | 1.5 | 是 | 类目(文本搜索) |
164   -| category_keyword | HKText | 是 | 模糊+精确 | SPU表 | category | VARCHAR(255) | - | 否 | 类目(HKText类型) |
  157 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | Boost权重 | 是否返回 | 数据预处理 | 说明 |
  158 +|-----------|-----------|---------|-----------|-----------|-------------|-----------|---------|-------------|------|
  159 +| vendor | TEXT | 是 | SPU表 | vendor | VARCHAR(255) | 1.5 | 是 | | 供应商/品牌(文本搜索) |
  160 +| vendor_keyword | HKText | 是 | SPU表 | vendor | VARCHAR(255) | - | 否 | 按逗号分割为list,去除空白项 | 供应商/品牌(HKText类型,keyword子字段用于过滤) |
  161 +| product_type | TEXT | 是 | SPU表 | category | VARCHAR(255) | 1.5 | 是 | | 商品类型(文本搜索) |
  162 +| product_type_keyword | HKText | 是 | SPU表 | category | VARCHAR(255) | - | 否 | 按逗号分割为list,去除空白项 | 商品类型(HKText类型) |
  163 +| tags | HKText | 是 | SPU表 | tags | VARCHAR(1024) | 1.0 | 是 | | 标签(HKText类型,支持搜索+过滤) |
  164 +| tags_keyword | HKText | 是 | SPU表 | tags | VARCHAR(1024) | - | 否 | 按逗号分割为list,去除空白项 | 标签keyword别名(HKText类型) |
  165 +| category | TEXT | 是 | SPU表 | category | VARCHAR(255) | 1.5 | 是 | | 类目(文本搜索) |
  166 +| category_keyword | HKText | 是 | SPU表 | category | VARCHAR(255) | - | 否 | 按逗号分割为list,去除空白项 | 类目(HKText类型) |
165 167  
166 168 ### 价格字段
167 169  
168   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
169   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
170   -| min_price | FLOAT | 是 | 数值范围 | SKU表(聚合计算) | price | DECIMAL(10,2) | 最低价格(从所有SKU中取最小值) |
171   -| max_price | FLOAT | 是 | 数值范围 | SKU表(聚合计算) | price | DECIMAL(10,2) | 最高价格(从所有SKU中取最大值) |
172   -| compare_at_price | FLOAT | 是 | 数值范围 | SKU表(聚合计算) | compare_at_price | DECIMAL(10,2) | 原价(从所有SKU中取最大值) |
  170 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  171 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  172 +| min_price | FLOAT | 是 | SKU表(聚合计算) | price | DECIMAL(10,2) | 聚合所有SKU最小值并转FLOAT | 最低价格(从所有SKU中取最小值) |
  173 +| max_price | FLOAT | 是 | SKU表(聚合计算) | price | DECIMAL(10,2) | 聚合所有SKU最大值并转FLOAT | 最高价格(从所有SKU中取最大值) |
  174 +| compare_at_price | FLOAT | 是 | SKU表(聚合计算) | compare_at_price | DECIMAL(10,2) | 聚合所有SKU最大值并转FLOAT | 原价(从所有SKU中取最大值) |
173 175  
174 176 **价格计算逻辑**:
175 177 - `min_price`: 取该SPU下所有SKU的price字段的最小值
... ... @@ -178,15 +180,15 @@
178 180  
179 181 ### 图片字段
180 182  
181   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
182   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
183   -| image_url | KEYWORD | 否 | 不索引 | SPU表 | image_src | VARCHAR(500) | 商品主图URL,仅用于展示 |
  183 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  184 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  185 +| image_url | KEYWORD | 否 | SPU表 | image_src | VARCHAR(500) | 补全协议/域名,确保绝对URL | 商品主图URL,仅用于展示 |
184 186  
185 187 ### 文本嵌入字段
186 188  
187   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
188   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
189   -| title_embedding | TEXT_EMBEDDING | 是 | 向量相似度(dot_product) | 计算生成 | title | VARCHAR(512) | 标题的文本向量(1024维),用于语义搜索 |
  189 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  190 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  191 +| title_embedding | TEXT_EMBEDDING | 是 | 计算生成 | title | VARCHAR(512) | BGE-M3模型生成1024维向量 | 标题的文本向量(1024维),用于语义搜索 |
190 192  
191 193 **说明**:
192 194 - 向量维度:1024
... ... @@ -195,30 +197,30 @@
195 197  
196 198 ### 时间字段
197 199  
198   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 是否返回 | 说明 |
199   -|-----------|-----------|---------|---------|-----------|-----------|-------------|---------|------|
200   -| create_time | DATE | 是 | 日期范围 | SPU表 | create_time | DATETIME | 是 | 创建时间 |
201   -| update_time | DATE | 是 | 日期范围 | SPU表 | update_time | DATETIME | 是 | 更新时间 |
202   -| shoplazza_created_at | DATE | 是 | 日期范围 | SPU表 | shoplazza_created_at | DATETIME | 否 | 店匠系统创建时间 |
203   -| shoplazza_updated_at | DATE | 是 | 日期范围 | SPU表 | shoplazza_updated_at | DATETIME | 否 | 店匠系统更新时间 |
  200 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 是否返回 | 数据预处理 | 说明 |
  201 +|-----------|-----------|---------|-----------|-----------|-------------|---------|-------------|------|
  202 +| create_time | DATE | 是 | SPU表 | create_time | DATETIME | 是 | 转换为UTC ISO8601字符串 | 创建时间 |
  203 +| update_time | DATE | 是 | SPU表 | update_time | DATETIME | 是 | 转换为UTC ISO8601字符串 | 更新时间 |
  204 +| shoplazza_created_at | DATE | 是 | SPU表 | shoplazza_created_at | DATETIME | 否 | 转换为UTC ISO8601字符串 | 店匠系统创建时间 |
  205 +| shoplazza_updated_at | DATE | 是 | SPU表 | shoplazza_updated_at | DATETIME | 否 | 转换为UTC ISO8601字符串 | 店匠系统更新时间 |
204 206  
205 207 ### 嵌套Variants字段(SKU级别)
206 208  
207   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
208   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
209   -| variants | JSON (nested) | 是 | 嵌套对象 | SKU表 | - | - | 商品变体数组(嵌套结构) |
  209 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  210 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  211 +| variants | JSON (nested) | 是 | SKU表 | - | - | 汇总同SPU下SKU记录,构建nested数组 | 商品变体数组(嵌套结构) |
210 212  
211 213 #### Variants子字段
212 214  
213   -| 索引字段名 | ES字段类型 | 是否索引 | 索引方式 | 数据来源表 | 表中字段名 | 表中字段类型 | 说明 |
214   -|-----------|-----------|---------|---------|-----------|-----------|-------------|------|
215   -| variants.variant_id | keyword | 是 | 精确匹配 | SKU表 | id | BIGINT | 变体ID(SKU ID) |
216   -| variants.title | text | 是 | english | SKU表 | title | VARCHAR(500) | 变体标题 |
217   -| variants.price | float | 是 | 数值范围 | SKU表 | price | DECIMAL(10,2) | 变体价格 |
218   -| variants.compare_at_price | float | 是 | 数值范围 | SKU表 | compare_at_price | DECIMAL(10,2) | 变体原价 |
219   -| variants.sku | keyword | 是 | 精确匹配 | SKU表 | sku | VARCHAR(100) | SKU编码 |
220   -| variants.stock | long | 是 | 数值范围 | SKU表 | inventory_quantity | INT(11) | 库存数量 |
221   -| variants.options | object | 是 | 对象 | SKU表 | option1/option2/option3 | VARCHAR(255) | 选项(颜色、尺寸等) |
  215 +| 索引字段名 | ES字段类型 | 是否索引 | 数据来源表 | 表中字段名 | 表中字段类型 | 数据预处理 | 说明 |
  216 +|-----------|-----------|---------|-----------|-----------|-------------|-------------|------|
  217 +| variants.variant_id | keyword | 是 | SKU表 | id | BIGINT | BIGINT转字符串 | 变体ID(SKU ID) |
  218 +| variants.title | text | 是 | SKU表 | title | VARCHAR(500) | | 变体标题 |
  219 +| variants.price | float | 是 | SKU表 | price | DECIMAL(10,2) | DECIMAL转FLOAT | 变体价格 |
  220 +| variants.compare_at_price | float | 是 | SKU表 | compare_at_price | DECIMAL(10,2) | DECIMAL转FLOAT | 变体原价 |
  221 +| variants.sku | keyword | 是 | SKU表 | sku | VARCHAR(100) | | SKU编码 |
  222 +| variants.stock | long | 是 | SKU表 | inventory_quantity | INT(11) | INT转LONG | 库存数量 |
  223 +| variants.options | object | 是 | SKU表 | option1/option2/option3 | VARCHAR(255) | 合并option1/2/3并去除空值 | 选项(颜色、尺寸等) |
222 224  
223 225 **Variants结构说明**:
224 226 - `variants` 是一个嵌套对象数组,每个元素代表一个SKU
... ...