18 Dec, 2025
1 commit
-
索引的两项功能: 1. 多语言。 店铺配置的语言如果不等于zh,那么要调用翻译 获得中文翻译结果,同时 如果不等于en,要翻译en的结果。 要缓存到redis。 先查询缓存,没命中缓存再调用翻译,然后存入redis缓存起来。 这些逻辑应该是 @query/translator.py 内部的,不需要调用的地方关心。但是现在是 DictCache,直接改掉,改为redis的缓存 2. 填充 标题的向量化字段。如果该店铺的标题向量化打开,那么应该请求向量化模型根据英文的title得到embedding。使用 BgeEncoder. 以上两个模块的缓存,过期时间都是 最近多长时间内没有访问过。 feat: 1. 更新 REDIS_CONFIG 配置 在 config/env_config.py 中添加了用户提供的配置项(snapshot_db, translation_cache_expire_days, translation_cache_prefix 等) 2. 修改 query/translator.py 将 DictCache 改为 Redis 缓存 实现了 translate_for_indexing 方法,自动处理多语言翻译: 如果店铺语言不等于 zh,自动翻译成 zh 如果店铺语言不等于 en,自动翻译成 en 翻译逻辑封装在 translator.py 内部,调用方无需关心 3. 修改 embeddings/text_encoder.py 在 BgeEncoder 中添加了 Redis 缓存 实现了滑动过期策略(每次访问时重置过期时间) 缓存逻辑参考了提供的 CacheManager 对象 4. 修改 indexer/document_transformer.py 添加了 encoder 和 enable_title_embedding 参数 实现了 _fill_title_embedding 方法,使用英文标题(title_en)生成 embedding 更新了 _fill_text_fields 方法,使用新的 translate_for_indexing 方法 5. 更新 indexer/indexing_utils.py 更新了 create_document_transformer 函数,支持新的 encoder 和 enable_title_embedding 参数 如果启用标题向量化且未提供 encoder,会自动初始化 BgeEncoder
08 Dec, 2025
1 commit
-
- 新增批量索引接口: POST /indexer/bulk - 全量索引功能 - SPU接口改进: POST /indexer/spus - 支持批量获取SPU文档(最多100个) 新增 全量索引服务 indexer/bulk_indexing_service.py docs/搜索API对接指南.md - 新增索引接口文档: 详细的批量索引和SPU索引接口说明 - 请求示例: 提供完整的curl命令示例