25 Nov, 2025

3 commits

  • mappings/search_products.json - 完整的ES索引配置(settings + mappings)
    基于 docs/索引字段说明v2-mapping结构.md
    简化 mapping_generator.py
    移除所有config依赖
    直接使用 load_mapping() 从JSON文件加载
    保留工具函数:create_index_if_not_exists, delete_index_if_exists, update_mapping
    更新数据导入脚本
    scripts/ingest_shoplazza.py - 移除ConfigLoader依赖
    直接使用 load_mapping() 和 DEFAULT_INDEX_NAME
    更新indexer模块
    indexer/__init__.py - 更新导出
    indexer/bulk_indexer.py - 简化IndexingPipeline,移除config依赖
    创建查询配置常量
    search/query_config.py - 硬编码字段列表和配置项
    
    使用方式
    创建索引:
    from indexer.mapping_generator import load_mapping, create_index_if_not_existsfrom utils.es_client import ESClientes_client = ESClient(hosts=["http://localhost:9200"])mapping = load_mapping()create_index_if_not_exists(es_client, "search_products", mapping)
    数据导入:
    python scripts/ingest_shoplazza.py \    --db-host localhost \    --db-database saas \    --db-username root \    --db-password password \    --tenant-id "1" \    --es-host http://localhost:9200 \    --recreate
    
    注意事项
    修改mapping:直接编辑 mappings/search_products.json
    字段映射:spu_transformer.py 中硬编码,与mapping保持一致
    config目录:保留但不再使用,可后续清理
    search模块:仍依赖config
    tangwang
     
  • 主要是对 分类 属性 子sku 等重要字段的处理。
    参考文档《 @docs/索引字段说明v2-mapping结构.md 》《 @docs/索引字段说明v2.md 》
    
    feat:
    1. 更新 field_types.py
    添加 hanlp_index/hanlp_standard 分析器映射(映射到 CHINESE_ECOMMERCE/CHINESE_ECOMMERCE_QUERY)
    支持 keyword_normalizer 配置(用于 vendor.keyword 的 lowercase normalizer)
    更新 get_default_analyzers() 添加 hanlp 分析器和 lowercase normalizer
    修复 image_embedding 的 url 字段类型为 text
    
    2. 更新 config.yaml(32-207行)
    移除无用字段:handle, seo_title, seo_description, seo_keywords, shoplazza_created_at, shoplazza_updated_at
    添加中英文字段:title_zh, title_en, brief_zh, brief_en, description_zh, description_en, vendor_zh, vendor_en
    添加 category 多层级字段:category_path_zh, category_path_en, category_name_zh, category_name_en, category_id, category_name, category_level, category1_name, category2_name, category3_name
    添加 specifications 嵌套字段
    添加 option 名称字段:option1_name, option2_name, option3_name
    添加 SKU 扁平化字段:sku_prices, sku_weights, sku_weight_units, total_inventory
    更新 skus 嵌套结构以匹配目标 mapping
    添加 image_embedding 嵌套字段
    更新 indexes 配置以使用新字段名
    
    3. 更新 config_loader.py
    添加 keyword_normalizer 字段支持
    
    4. 重构 spu_transformer.py
    添加 load_option_data() 方法从 option 表加载数据
    更新 transform_batch() 加载 option 数据
    重构 _transform_spu_to_doc():
    实现中英文字段映射(暂时只填充中文)
    实现 category 多层级字段映射和 category_path 解析
    实现 specifications 构建(从 option 表获取 name,从 SKU 获取 value)
    实现 option 名称字段映射
    实现 SKU 扁平化字段计算
    更新 skus 嵌套结构
    重构 _transform_sku_row() 以匹配新的 SKU 结构
    移除 SEO 和 handle 字段的处理
    tangwang
     
  • tangwang
     

20 Nov, 2025

2 commits


18 Nov, 2025

2 commits


17 Nov, 2025

1 commit


14 Nov, 2025

28 commits


13 Nov, 2025

2 commits