09 Dec, 2025

2 commits


02 Dec, 2025

1 commit

  • 1. 加了一个配置searchable_option_dimensions,功能是配置子sku的option1_value option2_value option3_value 哪些参与检索(进索引、以及在线搜索的时候将对应字段纳入搜索field)。格式为list,选择三者中的一个或多个。
    
    2. 索引 @mappings/search_products.json 要加3个字段 option1_values option2_values option3_values,各自的 数据灌入(mysql->ES)的模块也要修改,这个字段是对子sku的option1_value option2_value option3_value分别提取去抽后得到的list。
    searchable_option_dimensions 中配置的,才进索引,比如 searchable_option_dimensions = ['option1'] 则 只对option1提取属性值去重组织list进入索引,其余两个字段为空
    
    3. 在线 对应的将 searchable_option_dimensions 中 对应的索引字段纳入 multi_match 的 fields,权重设为0.5 (各个字段的权重配置放到一起集中管理)
    
    1. 配置文件改动 (config/config.yaml)
    ✅ 在 spu_config 中添加了 searchable_option_dimensions 配置项,默认值为 ['option1', 'option2', 'option3']
    ✅ 添加了3个新字段定义:option1_values, option2_values, option3_values,类型为 KEYWORD,权重为 0.5
    ✅ 在 default 索引域的 fields 列表中添加了这3个字段,使其参与搜索
    2. ES索引Mapping改动 (mappings/search_products.json)
    ✅ 添加了3个新字段:option1_values, option2_values, option3_values,类型为 keyword
    3. 配置加载器改动 (config/config_loader.py)
    ✅ 在 SPUConfig 类中添加了 searchable_option_dimensions 字段
    ✅ 更新了配置解析逻辑,支持读取 searchable_option_dimensions
    ✅ 更新了配置转换为字典的逻辑
    4. 数据灌入改动 (indexer/spu_transformer.py)
    ✅ 在初始化时加载配置,获取 searchable_option_dimensions
    ✅ 在 _transform_spu_to_doc 方法中添加逻辑:
    从所有子SKU中提取 option1, option2, option3 值
    去重后存入 option1_values, option2_values, option3_values
    根据配置决定哪些字段实际写入数据(未配置的字段写空数组)
    
    =
    tangwang
     

29 Nov, 2025

1 commit


28 Nov, 2025

1 commit

  • 脚本:scripts/csv_to_excel_multi_variant.py
    
    主要功能:
    单一款式商品(S 类型)- 30%
    商品属性为 S
    不填写 option1/option2/option3
    包含所有商品信息(标题、描述、价格、库存等)
    多款式商品(M+P 类型)- 70%
    M 行(商品主体):
    商品属性为 M
    填写商品主体信息(标题、描述、SEO、分类等)
    option1="color", option2="size", option3="material"
    不填写价格、库存、SKU 等子款式信息
    P 行(子款式):
    商品属性为 P
    商品标题与 M 行一致
    option1/2/3 填写具体值(color、size、material 的笛卡尔积)
    每个 SKU 有独立的价格、库存、SKU 编码等
    多款式商品生成规则:
    Color(颜色):从 color1 到 color30 中随机选择 2-10 个
    Size(尺寸):从 1-30 中随机选择 4-8 个
    Material(材质):从商品标题按空格分割后的最后一个字符串提取(去掉特殊字符)
    笛卡尔积:生成所有组合的 P 行(例如:3 个颜色 × 5 个尺寸 × 1 个材质 = 15 个 SKU)
    tangwang
     

27 Nov, 2025

1 commit

  • 1. 搜索API对接指南.md
    在“精确匹配过滤器”部分添加了 specifications 嵌套过滤说明
    支持单个规格过滤和多个规格过滤(OR 逻辑)
    在“分面配置”部分完善了 specifications 分面说明
    添加了两种分面模式:所有规格名称和指定规格名称
    在“常见场景示例”部分添加了场景5-8,包含规格过滤和分面的完整示例
    2. 搜索API速查表.md
    在“精确匹配过滤”部分添加了 specifications 过滤的快速参考
    在“分面搜索”部分添加了 specifications 分面的快速参考
    更新了完整示例,包含 specifications 的使用
    3. Search-API-Examples.md
    在“过滤器使用”部分添加了示例4-6,展示 specifications 过滤
    在“分面搜索”部分添加了示例2-3,展示 specifications 分面
    更新了 Python 和 JavaScript 完整示例,包含 specifications 的使用
    在“常见使用场景”部分添加了场景2.1,展示带规格过滤的搜索结果页
    4. 索引字段说明v2.md
    更新了 specifications 字段的查询示例,包含 API 格式和 ES 查询结构
    添加了两种分面模式的说明和示例
    更新了“分面字段”说明,明确支持指定规格名称的分面
    tangwang
     

14 Nov, 2025

4 commits


13 Nov, 2025

1 commit



08 Nov, 2025

1 commit


07 Nov, 2025

1 commit