11 Apr, 2026

1 commit

  • 这次代码侧的核心变化是:
    - 删除了 `indexer/product_enrich.py`、`indexer/product_enrich_prompts.py` 及相关单测。
    - 在 [api/routes/indexer.py](/data/saas-search/api/routes/indexer.py:55) 移除了 `/indexer/enrich-content` 路由;现在这个路径在本仓库 indexer 服务里会是 `404`,对应契约测试也已改成校验移除状态:[tests/ci/test_service_api_contracts.py](/data/saas-search/tests/ci/test_service_api_contracts.py:345)。
    - 在 [api/routes/indexer.py](/data/saas-search/api/routes/indexer.py:183)、[indexer/document_transformer.py](/data/saas-search/indexer/document_transformer.py:109)、[indexer/incremental_service.py](/data/saas-search/indexer/incremental_service.py:587)、[indexer/spu_transformer.py](/data/saas-search/indexer/spu_transformer.py:223) 去掉了构建 doc 时自动补 `qanchors` / `enriched_*` 的本地 LLM 富化逻辑。现在 `build-docs` / `reindex` / `index` 只负责基础文档构建。
    - 在 [config/schema.py](/data/saas-search/config/schema.py:316)、[config/loader.py](/data/saas-search/config/loader.py:824)、[config/env_config.py](/data/saas-search/config/env_config.py:37)、[config/config.yaml](/data/saas-search/config/config.yaml:32) 清掉了旧实现专用的 `product_enrich` 和 anchor cache 配置面。
    
    重要文档也一起同步了,重点是把“能力已迁出、本仓库不再内置生成”写明确:
    - [README.md](/data/saas-search/README.md:113)
    - [docs/搜索API对接指南-00-总览与快速开始.md](</data/saas-search/docs/搜索API对接指南-00-总览与快速开始.md:108>)
    - [docs/搜索API对接指南-05-索引接口(Indexer).md](</data/saas-search/docs/搜索API对接指南-05-索引接口(Indexer).md:647>)
    - [docs/搜索API对接指南-07-微服务接口(Embedding-Reranker-Translation).md](</data/saas-search/docs/搜索API对接指南-07-微服务接口(Embedding-Reranker-Translation).md:441>)
    - [docs/工作总结-微服务性能优化与架构.md](</data/saas-search/docs/工作总结-微服务性能优化与架构.md:96>)
    - [docs/缓存与Redis使用说明.md](</data/saas-search/docs/缓存与Redis使用说明.md:186>)
    - [indexer/README.md](/data/saas-search/indexer/README.md:508)
    - [indexer/ANCHORS_AND_SEMANTIC_ATTRIBUTES.md](/data/saas-search/indexer/ANCHORS_AND_SEMANTIC_ATTRIBUTES.md:1)
    
    验证做了两步:
    - `python3 -m compileall ...` 通过
    - `source activate.sh && python -m pytest tests/ci/test_service_api_contracts.py -q` 通过,`31 passed`
    
    剩下我认为仍有“旧信息”但暂时没动的,主要是历史记录类文档,不算当前对接口径:
    - [docs/issues/issue.md](/data/saas-search/docs/issues/issue.md:295)
    - [docs/issues/issue.txt](/data/saas-search/docs/issues/issue.txt:468)
    - [docs/issues/issue-2026-03-29-索引修改-done-0330.md](</data/saas-search/docs/issues/issue-2026-03-29-索引修改-done-0330.md:23>)
    - [docs/issues/issue-2026-04-04-增加多模态标注-TODO.md](</data/saas-search/docs/issues/issue-2026-04-04-增加多模态标注-TODO.md:1>)
    
    另外,工作区里原本就有 `.env` 修改和未跟踪的 `AGENTS.md`,我没有动它们。
    tangwang
     

01 Apr, 2026

2 commits


30 Mar, 2026

1 commit


27 Mar, 2026

4 commits


25 Mar, 2026

2 commits

  • tangwang
     
  • @config/dictionaries/style_intent_color.csv
    @config/dictionaries/style_intent_size.csv @query/style_intent.py
    @search/sku_intent_selector.py
    1. 两个csv词典,分为三列,
    - 英文关键词
    - 中文关键词
    - 标准属性名称词
    三列都可以允许逗号分割。补充的第三列使用在商品属性中,使用的是标准的英文名称
    2.
    判断意图的时候,中文词用中文翻译名去匹配,如果不存在中文翻译名,则用原始
    query,英文词同理
    3. SKU 选择的时候,用每一个 SKU 的属性名去匹配。
    匹配规则要大幅度简化,并做性能优化:
    1)文本匹配规则只需要看规范化后的属性值是否包含了词典配置的第三列"标准属性名称词",如果包含了,则认为匹配成功。
    找到第一个匹配成功的即可。如果都没有成功,后面也不再需要用向量匹配。
    暂时废弃向量匹配、双向匹配等复杂逻辑。
    tangwang
     

24 Mar, 2026

2 commits

  • 加了一个过滤/降权词典,query中有独立分词匹配到指定的触发词,将过滤带某些分词的商品(比如fitted/修身,过滤宽松、loose、relaxed、baggy,slouchy等商品)
    2. reranker的query使用翻译后的
    tangwang
     
  • tangwang
     

23 Mar, 2026

3 commits


22 Mar, 2026

2 commits


20 Mar, 2026

3 commits


19 Mar, 2026

2 commits