搜索API对接指南-08-数据模型与字段速查.md
4.49 KB
搜索API对接指南-08-数据模型与字段速查
本篇覆盖原文第 9 章:商品字段定义、字段类型速查、常用字段列表、支持的分析器。
9. 数据模型
9.1 商品字段定义
| 字段名 | 类型 | 描述 |
|---|---|---|
tenant_id |
keyword | 租户ID(多租户隔离) |
spu_id |
keyword | SPU ID |
title.<lang> |
object/text | 商品标题(多语言对象,如 title.zh, title.en) |
brief.<lang> |
object/text | 商品短描述(多语言对象,如 brief.zh, brief.en) |
description.<lang> |
object/text | 商品详细描述(多语言对象,如 description.zh, description.en) |
vendor.<lang> |
object/text | 供应商/品牌(多语言对象,且带 keyword 子字段,如 vendor.zh.keyword) |
category_path.<lang> |
object/text | 类目路径(多语言对象,用于搜索,如 category_path.zh) |
category_name_text.<lang> |
object/text | 类目名称(多语言对象,用于搜索,如 category_name_text.zh) |
category_id |
keyword | 类目ID |
category_name |
keyword | 类目名称(用于过滤) |
category_level |
integer | 类目层级 |
category1_name, category2_name, category3_name |
keyword | 多级类目名称(用于过滤和分面) |
tags |
keyword | 标签(数组) |
specifications |
nested | 规格(嵌套对象数组) |
option1_name, option2_name, option3_name |
keyword | 选项名称 |
min_price, max_price |
float | 最低/最高价格 |
compare_at_price |
float | 原价 |
sku_prices |
float | SKU价格列表(数组) |
sku_weights |
long | SKU重量列表(数组) |
sku_weight_units |
keyword | SKU重量单位列表(数组) |
total_inventory |
long | 总库存 |
sales |
long | 销量(展示销量) |
skus |
nested | SKU详细信息(嵌套对象数组) |
create_time, update_time |
date | 创建/更新时间 |
title_embedding |
dense_vector | 标题向量(1024维,仅用于搜索) |
image_embedding |
nested | 图片向量(嵌套,仅用于搜索) |
所有租户共享统一的索引结构。文本字段支持中英文双语,后端根据
language参数自动选择对应字段返回。
9.2 字段类型速查
| 类型 | ES Mapping | 用途 |
|---|---|---|
text |
text |
全文检索(支持中英文分析器) |
keyword |
keyword |
精确匹配、聚合、排序 |
integer |
integer |
整数 |
long |
long |
长整数 |
float |
float |
浮点数 |
date |
date |
日期时间 |
nested |
nested |
嵌套对象(specifications, skus, image_embedding) |
dense_vector |
dense_vector |
向量字段(title_embedding,仅用于搜索) |
9.3 常用字段列表
过滤字段
category_name: 类目名称category1_name,category2_name,category3_name: 多级类目category_id: 类目IDvendor.zh.keyword,vendor.en.keyword: 供应商/品牌(使用keyword子字段)tags: 标签(keyword类型)option1_name,option2_name,option3_name: 选项名称specifications: 规格过滤(嵌套字段,格式见过滤器详解)
范围字段
min_price: 最低价格max_price: 最高价格compare_at_price: 原价create_time: 创建时间update_time: 更新时间
排序字段
price: 价格(后端自动根据sort_order映射:asc→min_price,desc→max_price)sales: 销量create_time: 创建时间update_time: 更新时间relevance_score: 相关性分数(默认,不指定sort_by时使用)
注意: 前端只需传 price,后端会自动处理:
sort_by: "price"+sort_order: "asc"→ 按min_price升序(价格从低到高)sort_by: "price"+sort_order: "desc"→ 按max_price降序(价格从高到低)
9.4 支持的分析器
| 分析器 | 语言 | 描述 |
|---|---|---|
index_ik |
中文 | 中文索引分析器(用于中文字段) |
query_ik |
中文 | 中文查询分析器(用于中文字段) |
hanlp_index ⚠️ TODO(暂不支持) |
中文 | 中文索引分析器(用于中文字段) |
hanlp_standard ⚠️ TODO(暂不支持) |
中文 | 中文查询分析器(用于中文字段) |
english |
英文 | 标准英文分析器(用于英文字段) |
lowercase |
- | 小写标准化器(用于keyword子字段) |