Commit 413452717fc1bea25b97c9748040edad6f94589d

Authored by tangwang
1 parent 465f90e1

文档更新

@@ -413,7 +413,7 @@ bm25() + 0.2*text_embedding_relevance() @@ -413,7 +413,7 @@ bm25() + 0.2*text_embedding_relevance()
413 - **Application Layer**: Performance-optimized filtering outside ES 413 - **Application Layer**: Performance-optimized filtering outside ES
414 - **Use Case**: Display one SKU per variant combination (e.g., one per color) 414 - **Use Case**: Display one SKU per variant combination (e.g., one per color)
415 415
416 -### API Architecture & Usage (from 搜索API对接指南.md) 416 +### API Architecture & Usage(见 `docs/搜索API对接指南-00-总览与快速开始.md` 及分册 `-01`…`-10`)
417 417
418 **Core API Endpoints**: 418 **Core API Endpoints**:
419 ``` 419 ```
@@ -8,7 +8,7 @@ README 鐢ㄤ簬缁欏悗缁紑鍙戣呭缓绔嬬粺涓璁ょ煡锛**绯荤粺妗嗘灦銆佹ā鍧楄竟鐣 @@ -8,7 +8,7 @@ README 鐢ㄤ簬缁欏悗缁紑鍙戣呭缓绔嬬粺涓璁ょ煡锛**绯荤粺妗嗘灦銆佹ā鍧楄竟鐣
8 8
9 ## 1) 椤圭洰鐩爣涓庤竟鐣 9 ## 1) 椤圭洰鐩爣涓庤竟鐣
10 10
11 -- **鐩爣**锛氬湪缁熶竴鏋舵瀯涓嬫敮鎸佸叧閿瘝妫绱€佽涔夋绱€佸垎闈㈣繃婊ゃ佸璇█銆侀噸鎺掋佸浘鐗囨绱€ 11 +- **鐩爣**锛氬湪缁熶竴鏋舵瀯涓嬫敮鎸佸叧閿瘝妫绱€佽涔夋绱€佸垎闈㈣繃婊ゃ佸璇█銆佸垎灞傛帓搴忥紙绮楁帓 / 鍙夌簿鎺 fine rank / 閲嶆帓锛夈佸浘鐗囨绱€
12 - **杈圭晫**锛氭湰浠撳簱璐熻矗鎼滅储鏍稿績鑳藉姏涓庢湇鍔$紪鎺掞紱涓氬姟鏂归氳繃鏍囧噯 HTTP API 瀵规帴銆 12 - **杈圭晫**锛氭湰浠撳簱璐熻矗鎼滅储鏍稿績鑳藉姏涓庢湇鍔$紪鎺掞紱涓氬姟鏂归氳繃鏍囧噯 HTTP API 瀵规帴銆
13 - **鏍稿績绾︽潫**锛 13 - **鏍稿績绾︽潫**锛
14 - 璋冪敤鏂圭ǔ瀹氾紙API/Provider 濂戠害浼樺厛锛 14 - 璋冪敤鏂圭ǔ瀹氾紙API/Provider 濂戠害浼樺厛锛
@@ -47,9 +47,10 @@ source activate.sh @@ -47,9 +47,10 @@ source activate.sh
47 - `6004` indexer锛坄/indexer/*`锛 47 - `6004` indexer锛坄/indexer/*`锛
48 - `6003` frontend 48 - `6003` frontend
49 - `6010` eval-web锛堟悳绱㈣瘎浼 UI锛宍./scripts/service_ctl.sh` 鏈嶅姟鍚 `eval-web`锛 49 - `6010` eval-web锛堟悳绱㈣瘎浼 UI锛宍./scripts/service_ctl.sh` 鏈嶅姟鍚 `eval-web`锛
50 -- `6005` embedding锛堝彲閫夛級 50 +- `6005` embedding-text锛堝彲閫夛紝`POST /embed/text`锛涘父瑙佸悗绔负 TEI锛岄粯璁 `8080`锛
  51 +- `6008` embedding-image锛堝彲閫夛紝`POST /embed/image` 绛夛級
51 - `6006` translator锛堝彲閫夛級 52 - `6006` translator锛堝彲閫夛級
52 -- `6007` reranker锛堝彲閫夛 53 +- `6007` reranker锛堝彲閫夛紝`POST /rerank`锛涚簿鎺掑彲涓庝富閲嶆帓鍒 `service_profile`锛岃 `config.yaml` 鈫 `fine_rank` / `services.rerank`锛
53 54
54 鏇村畬鏁寸ず渚嬭 `docs/QUICKSTART.md`銆 55 鏇村畬鏁寸ず渚嬭 `docs/QUICKSTART.md`銆
55 56
@@ -58,7 +59,7 @@ source activate.sh @@ -58,7 +59,7 @@ source activate.sh
58 ## 3) 鎬讳綋鏋舵瀯锛堝紑鍙戣呰瑙掞級 59 ## 3) 鎬讳綋鏋舵瀯锛堝紑鍙戣呰瑙掞級
59 60
60 - `api/`锛氱粺涓 API 鍏ュ彛锛坰earch/admin/indexer app锛 61 - `api/`锛氱粺涓 API 鍏ュ彛锛坰earch/admin/indexer app锛
61 -- `search/`锛氬彫鍥炪佹帓搴忋佺粨鏋滅粍缁 62 +- `search/`锛氬彫鍥炪佸垎灞傛帓搴忎笌缁撴灉缁勭粐锛圗S 鍙洖 鈫 `coarse_rank` 铻嶅悎鏂囨湰/KNN 鈫 鍙 `fine_rank` 杞婚噺绮炬帓 鈫 `rerank` 铻嶅悎妯″瀷鍒嗕笌 ES 淇″彿锛沗debug=true` 鏃惰繑鍥炲悇闃舵 rank / fusion 璋冭瘯瀛楁锛
62 - `query/`锛氭煡璇㈣В鏋愩佸璇█澶勭悊銆佹敼鍐 63 - `query/`锛氭煡璇㈣В鏋愩佸璇█澶勭悊銆佹敼鍐
63 - `indexer/`锛歁ySQL 琛屾暟鎹 -> ES 鏂囨。鐨勮浆鎹笌绱㈠紩娴佺▼ 64 - `indexer/`锛歁ySQL 琛屾暟鎹 -> ES 鏂囨。鐨勮浆鎹笌绱㈠紩娴佺▼
64 - `providers/`锛氳兘鍔涜皟鐢ㄦ娊璞★紙embedding/rerank锛 65 - `providers/`锛氳兘鍔涜皟鐢ㄦ娊璞★紙embedding/rerank锛
@@ -92,12 +93,28 @@ source activate.sh @@ -92,12 +93,28 @@ source activate.sh
92 | 0. 鍏ㄥ眬瑙勮寖锛堥璇伙級 | `docs/DEVELOPER_GUIDE.md` | 93 | 0. 鍏ㄥ眬瑙勮寖锛堥璇伙級 | `docs/DEVELOPER_GUIDE.md` |
93 | 1. 寮鍙戜笌閰嶇疆 | `docs/QUICKSTART.md` | 94 | 1. 寮鍙戜笌閰嶇疆 | `docs/QUICKSTART.md` |
94 | 2. 杩愯涓庢帓闅 | `docs/Usage-Guide.md` | 95 | 2. 杩愯涓庢帓闅 | `docs/Usage-Guide.md` |
95 -| 3. API 璇︾粏璇存槑 | `docs/鎼滅储API瀵规帴鎸囧崡.md` |  
96 -| 4. 蹇熷弬鏁伴熸煡 | `docs/鎼滅储API閫熸煡琛.md` | 96 +| 3. 鎼滅储 API锛堝凡鎷嗗垎涓哄绡囷紝浠庢昏杩涘叆锛 | `docs/鎼滅储API瀵规帴鎸囧崡-00-鎬昏涓庡揩閫熷紑濮.md` |
  97 +| 4. 蹇熷弬鏁伴熸煡 | `docs/鎼滅储API瀵规帴鎸囧崡-閫熸煡琛.md` |
97 | 5. 缈昏瘧涓撻」 | `docs/缈昏瘧妯″潡璇存槑.md` | 98 | 5. 缈昏瘧涓撻」 | `docs/缈昏瘧妯″潡璇存槑.md` |
98 | 6. 棣栨鐜鎼缓銆佺敓浜у嚟璇 | `docs/QUICKSTART.md` 搂1.4鈥.8 | 99 | 6. 棣栨鐜鎼缓銆佺敓浜у嚟璇 | `docs/QUICKSTART.md` 搂1.4鈥.8 |
99 | 7. TEI 鏂囨湰鍚戦噺涓撻」 | `docs/TEI_SERVICE璇存槑鏂囨。.md` | 100 | 7. TEI 鏂囨湰鍚戦噺涓撻」 | `docs/TEI_SERVICE璇存槑鏂囨。.md` |
100 | 8. CN-CLIP 鍥剧墖鍚戦噺涓撻」 | `docs/CNCLIP_SERVICE璇存槑鏂囨。.md` | 101 | 8. CN-CLIP 鍥剧墖鍚戦噺涓撻」 | `docs/CNCLIP_SERVICE璇存槑鏂囨。.md` |
  102 +| 9. 鐩稿叧鎬ф绱笌铻嶅悎锛堝惈 fine rank / rerank锛 | `docs/鐩稿叧鎬ф绱紭鍖栬鏄.md` |
  103 +| 10. 璋冨弬涓庤瘎浼板伐浣滄祦 | `docs/妫绱㈣皟鍙備笌LTR宸ヤ綔娴.md` |
  104 +| 11. 寰湇鍔℃ц兘涓庢灦鏋勬憳瑕 | `docs/宸ヤ綔鎬荤粨-寰湇鍔℃ц兘浼樺寲涓庢灦鏋.md` |
  105 +
  106 +**鎼滅储 API 鎷嗗垎鐩綍**锛堜笌鎬昏涓垪琛ㄤ竴鑷达紝鎸夐渶鏌ラ槄锛夛細
  107 +
  108 +| 鍒嗗唽 | 鍐呭 |
  109 +|------|------|
  110 +| `鎼滅储API瀵规帴鎸囧崡-01-鎼滅储鎺ュ彛.md` | `POST /search/` 璇锋眰涓庡搷搴 |
  111 +| `鎼滅储API瀵规帴鎸囧崡-02-鎼滅储寤鸿涓庡嵆鏃舵悳绱.md` | 寤鸿 / 鍗虫椂鎼滅储 |
  112 +| `鎼滅储API瀵规帴鎸囧崡-03-鑾峰彇鏂囨。.md` | `GET /search/{doc_id}` |
  113 +| `鎼滅储API瀵规帴鎸囧崡-05-绱㈠紩鎺ュ彛锛圛ndexer锛.md` | 绱㈠紩涓 `build-docs` / `enrich-content` 绛 |
  114 +| `鎼滅储API瀵规帴鎸囧崡-06-绠$悊鎺ュ彛锛圓dmin锛.md` | `/admin/*` |
  115 +| `鎼滅储API瀵规帴鎸囧崡-07-寰湇鍔℃帴鍙o紙Embedding-Reranker-Translation锛.md` | 6005/6006/6007/6008 绛夌洿杩炶鏄 |
  116 +| `鎼滅储API瀵规帴鎸囧崡-08-鏁版嵁妯″瀷涓庡瓧娈甸熸煡.md` | 瀛楁涓庢暟鎹ā鍨 |
  117 +| `鎼滅储API瀵规帴鎸囧崡-10-鎺ュ彛绾у帇娴嬭剼鏈.md` | 鍘嬫祴鑴氭湰涓庣敤娉 |
101 118
102 --- 119 ---
103 120
@@ -122,12 +139,13 @@ python -m pytest tests/ci -q @@ -122,12 +139,13 @@ python -m pytest tests/ci -q
122 139
123 --- 140 ---
124 141
125 -## 7) 浠g爜璐ㄩ噺涓庢寔缁户鎵胯姹 142 +## 7) 浠g爜璐ㄩ噺涓庢寔缁泦鎴愯姹
126 143
127 - 鏂板鍔熻兘蹇呴』琛ユ渶灏忔祴璇曪紙鑷冲皯瑕嗙洊 1 鏉℃垚鍔熻矾寰 + 1 鏉″弬鏁板紓甯歌矾寰勶級 144 - 鏂板鍔熻兘蹇呴』琛ユ渶灏忔祴璇曪紙鑷冲皯瑕嗙洊 1 鏉℃垚鍔熻矾寰 + 1 鏉″弬鏁板紓甯歌矾寰勶級
128 - 淇敼鍏叡鍗忚鏃跺繀椤诲悓姝ユ洿鏂帮細 145 - 淇敼鍏叡鍗忚鏃跺繀椤诲悓姝ユ洿鏂帮細
129 - `docs/QUICKSTART.md` 146 - `docs/QUICKSTART.md`
130 - - 瀵瑰簲鏈嶅姟 README / API 鏂囨。 147 + - 瀵瑰簲鍒嗗唽锛歚docs/鎼滅储API瀵规帴鎸囧崡-*.md`锛堝強閫熸煡琛級
  148 + - 瀵瑰簲鏈嶅姟 README / 涓撻」鏂囨。
131 - `tests/ci` 濂戠害鐢ㄤ緥 149 - `tests/ci` 濂戠害鐢ㄤ緥
132 - 绂佹鏂板鈥滀复鏃跺垎鏀昏緫鈥濈粫杩 provider/backend 宸ュ巶 150 - 绂佹鏂板鈥滀复鏃跺垎鏀昏緫鈥濈粫杩 provider/backend 宸ュ巶
133 - 浼樺厛鍑忓皯閲嶅瀹炵幇锛屽鐢ㄧ幇鏈夎浆鎹㈤摼璺笌閰嶇疆瑙f瀽鍏ュ彛 151 - 浼樺厛鍑忓皯閲嶅瀹炵幇锛屽鐢ㄧ幇鏈夎浆鎹㈤摼璺笌閰嶇疆瑙f瀽鍏ュ彛
docs/DEVELOPER_GUIDE.md
@@ -44,8 +44,9 @@ @@ -44,8 +44,9 @@
44 44
45 - [QUICKSTART.md](./QUICKSTART.md) 鈥 鐜銆佹湇鍔°佹ā鍧椼佽姹傜ず渚嬶紱搂2鈥撀 鍚熀纭閰嶇疆涓 Provider/妯″潡鎵╁睍 45 - [QUICKSTART.md](./QUICKSTART.md) 鈥 鐜銆佹湇鍔°佹ā鍧椼佽姹傜ず渚嬶紱搂2鈥撀 鍚熀纭閰嶇疆涓 Provider/妯″潡鎵╁睍
46 - [缈昏瘧妯″潡璇存槑.md](./缈昏瘧妯″潡璇存槑.md) 鈥 translator service銆乧apability 閰嶇疆銆佹湰鍦版ā鍨嬮儴缃蹭笌鎺ュ彛濂戠害 46 - [缈昏瘧妯″潡璇存槑.md](./缈昏瘧妯″潡璇存槑.md) 鈥 translator service銆乧apability 閰嶇疆銆佹湰鍦版ā鍨嬮儴缃蹭笌鎺ュ彛濂戠害
47 -- [绯荤粺璁捐鏂囨。.md](./绯荤粺璁捐鏂囨。.md) 鈥 绱㈠紩缁撴瀯銆佹暟鎹祦銆侀氱敤鍖栬璁  
48 -- [鎼滅储API瀵规帴鎸囧崡.md](./鎼滅储API瀵规帴鎸囧崡.md) 鈥 鎼滅储/绱㈠紩/绠$悊鎺ュ彛瀹屾暣璇存槑 47 +- 绱㈠紩涓庢暟鎹祦锛歔绱㈠紩鏂规.md](./绱㈠紩鏂规.md)銆乕绱㈠紩瀛楁璇存槑v2.md](./绱㈠紩瀛楁璇存槑v2.md)銆乕MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md](./MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md)
  48 +- [鎼滅储API瀵规帴鎸囧崡-00-鎬昏涓庡揩閫熷紑濮.md](./鎼滅储API瀵规帴鎸囧崡-00-鎬昏涓庡揩閫熷紑濮.md) 鈥 鎼滅储/绱㈠紩/绠$悊/寰湇鍔 API锛堝垎鍐屽叆鍙o紱鍒嗗唽鍒楄〃瑙 README锛
  49 +- [鎼滅储API瀵规帴鎸囧崡-閫熸煡琛.md](./鎼滅储API瀵规帴鎸囧崡-閫熸煡琛.md) 鈥 鎼滅储 API 鍙傛暟閫熸煡
49 - [QUICKSTART.md](./QUICKSTART.md) 搂1.4鈥.8 鈥 绯荤粺瑕佹眰銆丳ython 鐜銆佸閮ㄦ湇鍔′笌鐢熶骇鍑瘉銆佸簵鍖犳暟鎹簮 50 - [QUICKSTART.md](./QUICKSTART.md) 搂1.4鈥.8 鈥 绯荤粺瑕佹眰銆丳ython 鐜銆佸閮ㄦ湇鍔′笌鐢熶骇鍑瘉銆佸簵鍖犳暟鎹簮
50 - [Usage-Guide.md](./Usage-Guide.md) 鈥 杩愮淮銆佹棩蹇椼佸鐜銆佹晠闅滄帓鏌 51 - [Usage-Guide.md](./Usage-Guide.md) 鈥 杩愮淮銆佹棩蹇椼佸鐜銆佹晠闅滄帓鏌
51 52
@@ -57,7 +58,7 @@ @@ -57,7 +58,7 @@
57 58
58 - **浜у搧褰㈡**锛氶潰鍚戣法澧冪嫭绔嬬珯锛堝搴楀尃 Shoplazza锛夌殑**澶氱鎴峰彲閰嶇疆鎼滅储 SaaS**锛屾彁渚涙悳绱㈠悗绔笌绱㈠紩瀵屽寲鑳藉姏銆 59 - **浜у搧褰㈡**锛氶潰鍚戣法澧冪嫭绔嬬珯锛堝搴楀尃 Shoplazza锛夌殑**澶氱鎴峰彲閰嶇疆鎼滅储 SaaS**锛屾彁渚涙悳绱㈠悗绔笌绱㈠紩瀵屽寲鑳藉姏銆
59 - **鏍稿績浜や粯**锛 60 - **鏍稿績浜や粯**锛
60 - - **鎼滅储鏈嶅姟**锛氭枃鏈悳绱€佸浘鐗囨悳绱€佸缓璁紙suggestions锛夈佽繃婊ゃ佸垎闈€佹帓搴忋佸彲閫夐噸鎺掋 61 + - **鎼滅储鏈嶅姟**锛氭枃鏈悳绱€佸浘鐗囨悳绱€佸缓璁紙suggestions锛夈佽繃婊ゃ佸垎闈€佹帓搴忋佸垎灞傜矖鎺/鍙夌簿鎺掞紙fine rank锛/閲嶆帓銆
61 - **绱㈠紩鏈嶅姟**锛氬皢 MySQL 涓殑搴楀尃鏍囧噯琛紙SPU/SKU锛夊瘜鍖栦负绗﹀悎 ES mapping 鐨勬枃妗o紙澶氳瑷銆佺炕璇戙佸悜閲忋佽鏍艰仛鍚堢瓑锛夛紝鏀寔鍏ㄩ噺/澧為噺鍙娾滀粎鏋勫缓 doc銆佺敱涓婃父鍐 ES鈥濈殑瀵规帴鏂瑰紡銆 62 - **绱㈠紩鏈嶅姟**锛氬皢 MySQL 涓殑搴楀尃鏍囧噯琛紙SPU/SKU锛夊瘜鍖栦负绗﹀悎 ES mapping 鐨勬枃妗o紙澶氳瑷銆佺炕璇戙佸悜閲忋佽鏍艰仛鍚堢瓑锛夛紝鏀寔鍏ㄩ噺/澧為噺鍙娾滀粎鏋勫缓 doc銆佺敱涓婃父鍐 ES鈥濈殑瀵规帴鏂瑰紡銆
62 - **鏀拺鏈嶅姟**锛氬悜閲忔湇鍔★紙embedding锛夈佺炕璇戞湇鍔★紙translator锛夈侀噸鎺掓湇鍔★紙reranker锛夛紝鍙嫭绔嬮儴缃层侀氳繃閰嶇疆鍒囨崲銆 63 - **鏀拺鏈嶅姟**锛氬悜閲忔湇鍔★紙embedding锛夈佺炕璇戞湇鍔★紙translator锛夈侀噸鎺掓湇鍔★紙reranker锛夛紝鍙嫭绔嬮儴缃层侀氳繃閰嶇疆鍒囨崲銆
63 64
@@ -78,12 +79,12 @@ @@ -78,12 +79,12 @@
78 MySQL (搴楀尃 SPU/SKU) 79 MySQL (搴楀尃 SPU/SKU)
79 鈫 Indexer锛堝瘜鍖栵細澶氳瑷銆佺炕璇戙佸悜閲忋佽鏍艰仛鍚堬級 80 鈫 Indexer锛堝瘜鍖栵細澶氳瑷銆佺炕璇戙佸悜閲忋佽鏍艰仛鍚堬級
80 鈫 Elasticsearch锛堟寜绉熸埛绱㈠紩锛歴earch_products_tenant_<id>锛 81 鈫 Elasticsearch锛堟寜绉熸埛绱㈠紩锛歴earch_products_tenant_<id>锛
81 - 鈫 鎼滅储 API锛圦ueryParser 鈫 Searcher锛屽彲閫夌炕璇/鍚戦噺/閲嶆帓 82 + 鈫 鎼滅储 API锛圦ueryParser 鈫 Searcher锛氱矖鎺 coarse_rank 鈫 鍙夌簿鎺 fine_rank 鈫 閲嶆帓 rerank
82 鈫 鍓嶇 / 涓婃父涓氬姟 83 鈫 鍓嶇 / 涓婃父涓氬姟
83 ``` 84 ```
84 85
85 - **绱㈠紩渚**锛欽ava 鎴栬剼鏈喅瀹氣滃鍝簺 SPU 鍋氱储寮曗濓紱Python indexer 璐熻矗鈥滃崟鏉/鎵归噺 SPU 鈫 ES 鏂囨。鈥濈殑瀹屾暣閫昏緫锛屾垨閫氳繃 `/indexer/build-docs` 浠呰繑鍥 doc銆佺敱璋冪敤鏂瑰啓 ES銆 86 - **绱㈠紩渚**锛欽ava 鎴栬剼鏈喅瀹氣滃鍝簺 SPU 鍋氱储寮曗濓紱Python indexer 璐熻矗鈥滃崟鏉/鎵归噺 SPU 鈫 ES 鏂囨。鈥濈殑瀹屾暣閫昏緫锛屾垨閫氳繃 `/indexer/build-docs` 浠呰繑鍥 doc銆佺敱璋冪敤鏂瑰啓 ES銆
86 -- **鎼滅储渚**锛氳姹傜粡 QueryParser锛堣В鏋愩佹敼鍐欍佺炕璇戙佸悜閲忓寲锛夆啋 Searcher锛圗S 鏌ヨ銆佸彲閫夐噸鎺掞級鈫 缁撴灉鏍煎紡鍖 鈫 杩斿洖銆 87 +- **鎼滅储渚**锛氳姹傜粡 QueryParser锛堣В鏋愩佹敼鍐欍佺炕璇戙佸悜閲忓寲锛夆啋 Searcher锛圗S 鍙洖涓庢煡璇㈡瀯寤恒乣coarse_rank` 铻嶅悎鏂囨湰/KNN銆佸彲閫 `fine_rank`銆乣rerank` 涓庡垎鏁拌瀺鍚堬級鈫 缁撴灉鏍煎紡鍖 鈫 杩斿洖銆
87 88
88 ### 3.2 鏈嶅姟鎷撴墤涓庣鍙 89 ### 3.2 鏈嶅姟鎷撴墤涓庣鍙
89 90
@@ -109,7 +110,7 @@ api/ # FastAPI 搴旂敤锛氭悳绱㈣矾鐢便佺鐞嗚矾鐢便佺储寮曡矾 @@ -109,7 +110,7 @@ api/ # FastAPI 搴旂敤锛氭悳绱㈣矾鐢便佺鐞嗚矾鐢便佺储寮曡矾
109 config/ # 閰嶇疆鍔犺浇涓庤В鏋愶細config.yaml銆乻ervices銆乪nv 110 config/ # 閰嶇疆鍔犺浇涓庤В鏋愶細config.yaml銆乻ervices銆乪nv
110 indexer/ # MySQL 鈫 ES 绠¢亾锛歮apping銆乼ransformer銆乥ulk銆佸閲忋乥uild-docs 111 indexer/ # MySQL 鈫 ES 绠¢亾锛歮apping銆乼ransformer銆乥ulk銆佸閲忋乥uild-docs
111 query/ # 鏌ヨ瑙f瀽锛氳鑼冨寲銆佹敼鍐欍佺炕璇戙乪mbedding 璋冪敤銆佽瑷璁″垝鐢熸垚 112 query/ # 鏌ヨ瑙f瀽锛氳鑼冨寲銆佹敼鍐欍佺炕璇戙乪mbedding 璋冪敤銆佽瑷璁″垝鐢熸垚
112 -search/ # 鎼滅储鎵ц锛氬璇█鏌ヨ鏋勫缓銆丼earcher銆侀噸鎺掑鎴风銆佸垎鏁拌瀺鍚 113 +search/ # 鎼滅储鎵ц锛氬璇█鏌ヨ鏋勫缓銆丼earcher銆佺矖鎺/绮炬帓/閲嶆帓涓庡垎鏁拌瀺鍚
113 embeddings/ # 鍚戦噺鍖栵細鏈嶅姟绔紙server锛夈佹枃鏈/鍥惧儚鍚庣銆佸崗璁笌閰嶇疆 114 embeddings/ # 鍚戦噺鍖栵細鏈嶅姟绔紙server锛夈佹枃鏈/鍥惧儚鍚庣銆佸崗璁笌閰嶇疆
114 reranker/ # 閲嶆帓锛氭湇鍔$锛坰erver锛夈佸悗绔紙backends锛夈侀厤缃 115 reranker/ # 閲嶆帓锛氭湇鍔$锛坰erver锛夈佸悗绔紙backends锛夈侀厤缃
115 providers/ # 鑳藉姏鎻愪緵鑰咃細鍚戦噺/閲嶆帓鐨勫鎴风鎶借薄涓庡伐鍘 116 providers/ # 鑳藉姏鎻愪緵鑰咃細鍚戦噺/閲嶆帓鐨勫鎴风鎶借薄涓庡伐鍘
@@ -144,7 +145,7 @@ docs/ # 鏂囨。锛堝惈鏈寚鍗楋級 @@ -144,7 +145,7 @@ docs/ # 鏂囨。锛堝惈鏈寚鍗楋級
144 145
145 - **鑱岃矗**锛氬皢 MySQL 琛屾垨涓婃父浼犲叆鐨 SPU/SKU/options 杞负绗﹀悎 `mappings/search_products.json` 鐨 ES 鏂囨。锛涘惈澶氳瑷缁勭粐銆佺炕璇戣皟鐢ㄣ佸悜閲忕敓鎴愩佽鏍/SKU 鑱氬悎銆佺被鐩矾寰勭瓑锛涙敮鎸佸叏閲/澧為噺鍐欏叆 ES锛屼互鍙婁粎杩斿洖 doc锛坆uild-docs锛変緵涓婃父鍐 ES銆 146 - **鑱岃矗**锛氬皢 MySQL 琛屾垨涓婃父浼犲叆鐨 SPU/SKU/options 杞负绗﹀悎 `mappings/search_products.json` 鐨 ES 鏂囨。锛涘惈澶氳瑷缁勭粐銆佺炕璇戣皟鐢ㄣ佸悜閲忕敓鎴愩佽鏍/SKU 鑱氬悎銆佺被鐩矾寰勭瓑锛涙敮鎸佸叏閲/澧為噺鍐欏叆 ES锛屼互鍙婁粎杩斿洖 doc锛坆uild-docs锛変緵涓婃父鍐 ES銆
146 - **瀵规帴**锛氳皟鐢ㄦ柟閫氳繃 `providers` 鑾峰彇缈昏瘧銆佸悜閲忕瓑鑳藉姏锛涚储寮曞悕閫氳繃 `indexer/mapping_generator.get_tenant_index_name(tenant_id)` 涓 `ES_INDEX_NAMESPACE` 涓鑷淬 147 - **瀵规帴**锛氳皟鐢ㄦ柟閫氳繃 `providers` 鑾峰彇缈昏瘧銆佸悜閲忕瓑鑳藉姏锛涚储寮曞悕閫氳繃 `indexer/mapping_generator.get_tenant_index_name(tenant_id)` 涓 `ES_INDEX_NAMESPACE` 涓鑷淬
147 -- **璇﹁**锛歚indexer/README.md`銆乕绯荤粺璁捐鏂囨。.md](./绯荤粺璁捐鏂囨。.md)銆 148 +- **璇﹁**锛歚indexer/README.md`銆乕绱㈠紩鏂规.md](./绱㈠紩鏂规.md)銆乕绱㈠紩瀛楁璇存槑v2.md](./绱㈠紩瀛楁璇存槑v2.md)銆乕MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md](./MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md)銆
148 149
149 ### 4.4 query 150 ### 4.4 query
150 151
@@ -153,8 +154,8 @@ docs/ # 鏂囨。锛堝惈鏈寚鍗楋級 @@ -153,8 +154,8 @@ docs/ # 鏂囨。锛堝惈鏈寚鍗楋級
153 154
154 ### 4.5 search 155 ### 4.5 search
155 156
156 -- **鑱岃矗**锛氭瀯寤哄璇█ ES 鏌ヨ銆佹墽琛屾绱€佸彲閫夐噸鎺掋佸垎鏁拌瀺鍚堛佺粨鏋滄牸寮忓寲锛涘垎闈€佽繃婊ゃ佹帓搴忋丼KU 缁村害绛涢夌瓑銆  
157 -- **鍘熷垯**锛氶噸鎺掗氳繃 `search/rerank_client.py` 璋冪敤 `create_rerank_provider()`锛屼笉鍏冲績閲嶆帓鏈嶅姟鍐呮槸 BGE 杩樻槸 Qwen3锛涗笌 ES 鐨勪氦浜掑皝瑁呭湪 Searcher 鍐咃紝渚夸簬 mock 涓庢祴璇曘 157 +- **鑱岃矗**锛氭瀯寤哄璇█ ES 鏌ヨ銆佹墽琛屾绱€佸垎灞傛帓搴忥紙`coarse_rank` 鈫 鍙 `fine_rank` 鈫 `rerank`锛変笌鍒嗘暟铻嶅悎銆佺粨鏋滄牸寮忓寲锛涘垎闈€佽繃婊ゃ佹帓搴忋丼KU 缁村害绛涢夌瓑銆
  158 +- **鍘熷垯**锛氱簿鎺/閲嶆帓閫氳繃 `search/rerank_client.py` 涓庨厤缃腑鐨 `service_profile` 鍖哄垎璋冪敤锛涗笌 ES 鐨勪氦浜掑皝瑁呭湪 Searcher 鍐咃紝渚夸簬 mock 涓庢祴璇曘傚弬鏁拌 `config/config.yaml` 鐨 `coarse_rank` / `fine_rank` / `rerank`銆
158 159
159 ### 4.6 embeddings 160 ### 4.6 embeddings
160 161
@@ -446,10 +447,10 @@ services: @@ -446,10 +447,10 @@ services:
446 | 鏂颁汉涓婃墜銆佺幆澧冧笌璇锋眰绀轰緥 | [QUICKSTART.md](./QUICKSTART.md) | 447 | 鏂颁汉涓婃墜銆佺幆澧冧笌璇锋眰绀轰緥 | [QUICKSTART.md](./QUICKSTART.md) |
447 | 妗嗘灦鍏ㄨ矊涓庤鑼冿紙鏈枃锛 | 鏈寚鍗 | 448 | 妗嗘灦鍏ㄨ矊涓庤鑼冿紙鏈枃锛 | 鏈寚鍗 |
448 | Provider 涓庡熀纭閰嶇疆銆佹ā鍧楁墿灞曪紙鍗忚涓庡悗绔級 | [QUICKSTART.md](./QUICKSTART.md) 搂2鈥撀佹湰鎸囧崡 搂7 | 449 | Provider 涓庡熀纭閰嶇疆銆佹ā鍧楁墿灞曪紙鍗忚涓庡悗绔級 | [QUICKSTART.md](./QUICKSTART.md) 搂2鈥撀佹湰鎸囧崡 搂7 |
449 -| 绱㈠紩缁撴瀯銆佹暟鎹祦銆侀氱敤鍖栬璁 | [绯荤粺璁捐鏂囨。.md](./绯荤粺璁捐鏂囨。.md) |  
450 -| 鎼滅储/绱㈠紩 API 瀹屾暣璇存槑 | [鎼滅储API瀵规帴鎸囧崡.md](./鎼滅储API瀵规帴鎸囧崡.md) | 450 +| 绱㈠紩缁撴瀯銆佸瓧娈点丮ySQL鈫扙S 鏄犲皠 | [绱㈠紩鏂规.md](./绱㈠紩鏂规.md)銆乕绱㈠紩瀛楁璇存槑v2.md](./绱㈠紩瀛楁璇存槑v2.md)銆乕MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md](./MySQL鍒癊S鏂囨。鏄犲皠璇存槑.md) |
  451 +| 鎼滅储/绱㈠紩 API锛堝垎鍐屽叆鍙o級 | [鎼滅储API瀵规帴鎸囧崡-00-鎬昏涓庡揩閫熷紑濮.md](./鎼滅储API瀵规帴鎸囧崡-00-鎬昏涓庡揩閫熷紑濮.md) |
451 | 缈昏瘧妯″潡涓庢湰鍦版ā鍨 | [缈昏瘧妯″潡璇存槑.md](./缈昏瘧妯″潡璇存槑.md) | 452 | 缈昏瘧妯″潡涓庢湰鍦版ā鍨 | [缈昏瘧妯″潡璇存槑.md](./缈昏瘧妯″潡璇存槑.md) |
452 -| 鎼滅储 API 鍙傛暟閫熸煡 | [鎼滅储API閫熸煡琛.md](./鎼滅储API閫熸煡琛.md) | 453 +| 鎼滅储 API 鍙傛暟閫熸煡 | [鎼滅储API瀵规帴鎸囧崡-閫熸煡琛.md](./鎼滅储API瀵规帴鎸囧崡-閫熸煡琛.md) |
453 | 棣栨閮ㄧ讲銆佹柊鏈哄櫒鐜銆佺敓浜у嚟璇 | [QUICKSTART.md](./QUICKSTART.md) 搂1.4鈥.8 | 454 | 棣栨閮ㄧ讲銆佹柊鏈哄櫒鐜銆佺敓浜у嚟璇 | [QUICKSTART.md](./QUICKSTART.md) 搂1.4鈥.8 |
454 | 杩愮淮銆佹棩蹇椼佸鐜銆佹晠闅 | [Usage-Guide.md](./Usage-Guide.md) | 455 | 杩愮淮銆佹棩蹇椼佸鐜銆佹晠闅 | [Usage-Guide.md](./Usage-Guide.md) |
455 | 绱㈠紩妯″潡鑱岃矗涓 Java 瀵规帴 | [indexer/README.md](../indexer/README.md) | 456 | 绱㈠紩妯″潡鑱岃矗涓 Java 瀵规帴 | [indexer/README.md](../indexer/README.md) |
docs/QUICKSTART.md
@@ -314,7 +314,7 @@ saas-search 以 MySQL 中的店匠标准表为权威数据源: @@ -314,7 +314,7 @@ saas-search 以 MySQL 中的店匠标准表为权威数据源:
314 - `shoplazza_product_spu`:SPU 商品主表 314 - `shoplazza_product_spu`:SPU 商品主表
315 - `shoplazza_product_sku`:SKU 变体表 315 - `shoplazza_product_sku`:SKU 变体表
316 316
317 -**shoplazza_product_sku 字段节选**:`id`, `spu_id`, `shop_id`, `title`, `sku`, `price`, `compare_at_price`, `option1/2/3`, `inventory_quantity`, `image_src`, `tenant_id`, `create_time`, `update_time`, `deleted` 等。完整字段与 ES 对应关系见 `INDEX_FIELDS_DOCUMENTATION.md`(若有) 317 +**shoplazza_product_sku 字段节选**:`id`, `spu_id`, `shop_id`, `title`, `sku`, `price`, `compare_at_price`, `option1/2/3`, `inventory_quantity`, `image_src`, `tenant_id`, `create_time`, `update_time`, `deleted` 等。完整字段与 ES 对应关系见 `docs/索引字段说明v2.md`、`docs/MySQL到ES文档映射说明.md`
318 318
319 ### 1.8 相关脚本 319 ### 1.8 相关脚本
320 320
@@ -586,8 +586,8 @@ python -c &quot;from transformers import BertTokenizer; import transformers as t; pri @@ -586,8 +586,8 @@ python -c &quot;from transformers import BertTokenizer; import transformers as t; pri
586 |------|------| 586 |------|------|
587 | `docs/DEVELOPER_GUIDE.md` | 项目全貌、规范、协作方式 | 587 | `docs/DEVELOPER_GUIDE.md` | 项目全貌、规范、协作方式 |
588 | `docs/Usage-Guide.md` | 运行运维手册:日志、多环境、故障排查、Suggestion 运维 | 588 | `docs/Usage-Guide.md` | 运行运维手册:日志、多环境、故障排查、Suggestion 运维 |
589 -| `docs/搜索API速查表.md` | 搜索 API 参数速查 |  
590 -| `docs/搜索API对接指南.md` | 搜索 API 完整说明 | 589 +| `docs/搜索API对接指南-速查表.md` | 搜索 API 参数速查 |
  590 +| `docs/搜索API对接指南-00-总览与快速开始.md` | 搜索 API 分册总览(其余见 `搜索API对接指南-01`…`-10`) |
591 | `indexer/README.md` | 索引模块职责与接口 | 591 | `indexer/README.md` | 索引模块职责与接口 |
592 | `embeddings/README.md` | 向量化服务说明 | 592 | `embeddings/README.md` | 向量化服务说明 |
593 | `docs/TEI_SERVICE说明文档.md` | TEI 专项(安装、部署、GPU/CPU 模式、排障) | 593 | `docs/TEI_SERVICE说明文档.md` | TEI 专项(安装、部署、GPU/CPU 模式、排障) |
docs/Usage-Guide.md
@@ -647,7 +647,7 @@ curl -X POST &quot;http://localhost:6004/indexer/reindex&quot; \ @@ -647,7 +647,7 @@ curl -X POST &quot;http://localhost:6004/indexer/reindex&quot; \
647 647
648 两套环境的搜索 / suggestion API 调用完全一致,只是连接到各自的后端 / ES。 648 两套环境的搜索 / suggestion API 调用完全一致,只是连接到各自的后端 / ES。
649 649
650 -接口返回结构详见 `docs/搜索API对接指南.md` 的“3.7 搜索建议接口”章节。 650 +接口返回结构详见 `docs/搜索API对接指南-02-搜索建议与即时搜索.md` 的「3.7 搜索建议接口」章节。
651 651
652 --- 652 ---
653 653
@@ -737,13 +737,15 @@ curl -X POST http://localhost:6002/search/ \ @@ -737,13 +737,15 @@ curl -X POST http://localhost:6002/search/ \
737 737
738 ## 相关文档 738 ## 相关文档
739 739
740 -- **测试数据构造文档**: `TEST_DATA_GUIDE.md` - 如何构造和导入测试数据  
741 -- **API接口文档**: `API_INTEGRATION_GUIDE.md` - 完整的API对接指南  
742 -- **字段说明文档**: `INDEX_FIELDS_DOCUMENTATION.md` - 索引字段详细说明  
743 -- **设计文档**: `设计文档.md` - 系统架构和设计说明  
744 -- **README**: `README.md` - 项目概述和快速开始 740 +- **项目概述与文档索引**: 仓库根目录 `README.md`
  741 +- **搜索 API(分册)**: `docs/搜索API对接指南-00-总览与快速开始.md`(导航);各分册 `docs/搜索API对接指南-01`…`-10-*.md`
  742 +- **搜索 API 速查**: `docs/搜索API对接指南-速查表.md`
  743 +- **开发与规范**: `docs/DEVELOPER_GUIDE.md`
  744 +- **环境与排障**: `docs/QUICKSTART.md`
  745 +- **测试数据**: `scripts/mock_data.sh` 与 `docs/QUICKSTART.md` 中数据/ingest 相关章节
  746 +- **索引字段**: `docs/索引字段说明v2.md`、`mappings/search_products.json`
745 747
746 --- 748 ---
747 749
748 -**文档版本**: v2.0  
749 -**最后更新**: 2024-12 750 +**文档版本**: v2.1
  751 +**最后更新**: 2026-04
@@ -80,7 +80,7 @@ query匹配了其中任何一个词,都认为,具有颜色意图 @@ -80,7 +80,7 @@ query匹配了其中任何一个词,都认为,具有颜色意图
80 - fused_score = (rerank_score + 0.00001) * (text_score + 0.1) ** 0.35 * (knn_score + 0.6) ** 0.2 80 - fused_score = (rerank_score + 0.00001) * (text_score + 0.1) ** 0.35 * (knn_score + 0.6) ** 0.2
81 4. track_scores 与 include_named_queries_score 已接入,调试字段与评估方法已同步到: 81 4. track_scores 与 include_named_queries_score 已接入,调试字段与评估方法已同步到:
82 - docs/相关性检索优化说明.md 82 - docs/相关性检索优化说明.md
83 - - docs/搜索API对接指南.md 83 + - docs/搜索API对接指南-01-搜索接口.md(分册;原单文件已拆分)
84 - docs/Usage-Guide.md 84 - docs/Usage-Guide.md
85 85
86 未完成的: 86 未完成的:
@@ -489,7 +489,7 @@ config/environments/&lt;env&gt;.yaml @@ -489,7 +489,7 @@ config/environments/&lt;env&gt;.yaml
489 489
490 ### 1. 管理 API 文档中关于 `/admin/config` 的描述错误 490 ### 1. 管理 API 文档中关于 `/admin/config` 的描述错误
491 491
492 -[`docs/搜索API对接指南.md`](docs/搜索API对接指南.md)(管理部分附近)和 [`docs/搜索API对接指南-06-管理接口(Admin).md`](docs/搜索API对接指南-06-管理接口(Admin).md) 仍将 `/admin/config` 描述为按租户的 JSON(包含 `tenant_id`、`es_index_name`、`supported_languages` 等字段)。实际实现返回的是 `AppConfig.sanitized_dict()`(完整的应用配置,敏感信息已脱敏),而不是租户摘要字段。 492 +[`docs/搜索API对接指南-06-管理接口(Admin).md`](docs/搜索API对接指南-06-管理接口(Admin).md)(原单文件 `搜索API对接指南.md` 已拆分为分册)仍将 `/admin/config` 描述为按租户的 JSON(包含 `tenant_id`、`es_index_name`、`supported_languages` 等字段)。实际实现返回的是 `AppConfig.sanitized_dict()`(完整的应用配置,敏感信息已脱敏),而不是租户摘要字段。
493 493
494 这些指南中还缺少: `GET /admin/config/meta`。 494 这些指南中还缺少: `GET /admin/config/meta`。
495 495
@@ -132,9 +132,6 @@ tags字段使用的优化: @@ -132,9 +132,6 @@ tags字段使用的优化:
132 132
133 133
134 134
135 -  
136 -  
137 -  
138 是否需要: 135 是否需要:
139 当「源语言不在 index_languages」且「某些目标语言的翻译缺失」时,ES 里会额外加一层 用「原始 query 字符串」去撞缺失语种字段 136 当「源语言不在 index_languages」且「某些目标语言的翻译缺失」时,ES 里会额外加一层 用「原始 query 字符串」去撞缺失语种字段
140 137
@@ -319,7 +316,7 @@ config/environments/&lt;env&gt;.yaml @@ -319,7 +316,7 @@ config/environments/&lt;env&gt;.yaml
319 316
320 ### 1. 管理 API 文档中关于 `/admin/config` 的描述错误 317 ### 1. 管理 API 文档中关于 `/admin/config` 的描述错误
321 318
322 -[`docs/搜索API对接指南.md`](docs/搜索API对接指南.md)(管理部分附近)和 [`docs/搜索API对接指南-06-管理接口(Admin).md`](docs/搜索API对接指南-06-管理接口(Admin).md) 仍将 `/admin/config` 描述为**按租户**的 JSON(包含 `tenant_id`、`es_index_name`、`supported_languages` 等字段)。实际实现返回的是 **`AppConfig.sanitized_dict()`**(完整的应用配置,敏感信息已脱敏),而不是租户摘要字段。 319 +[`docs/搜索API对接指南-06-管理接口(Admin).md`](docs/搜索API对接指南-06-管理接口(Admin).md)(原单文件 `搜索API对接指南.md` 已拆分为分册)仍将 `/admin/config` 描述为**按租户**的 JSON(包含 `tenant_id`、`es_index_name`、`supported_languages` 等字段)。实际实现返回的是 **`AppConfig.sanitized_dict()`**(完整的应用配置,敏感信息已脱敏),而不是租户摘要字段。
323 320
324 **这些指南中还缺少:** `GET /admin/config/meta`。 321 **这些指南中还缺少:** `GET /admin/config/meta`。
325 322
@@ -503,7 +500,7 @@ https://help.aliyun.com/zh/model-studio/partial-mode?spm=a2c4g.11186623.help-men @@ -503,7 +500,7 @@ https://help.aliyun.com/zh/model-studio/partial-mode?spm=a2c4g.11186623.help-men
503 - `fused_score = (rerank_score + 0.00001) * (text_score + 0.1) ** 0.35 * (knn_score + 0.6) ** 0.2` 500 - `fused_score = (rerank_score + 0.00001) * (text_score + 0.1) ** 0.35 * (knn_score + 0.6) ** 0.2`
504 4. `track_scores` 与 `include_named_queries_score` 已接入,调试字段与评估方法已同步到: 501 4. `track_scores` 与 `include_named_queries_score` 已接入,调试字段与评估方法已同步到:
505 - `docs/相关性检索优化说明.md` 502 - `docs/相关性检索优化说明.md`
506 - - `docs/搜索API对接指南.md` 503 + - `docs/搜索API对接指南-01-搜索接口.md`(分册;原单文件已拆分)
507 - `docs/Usage-Guide.md` 504 - `docs/Usage-Guide.md`
508 505
509 未完成的: 506 未完成的:
docs/工作总结-微服务性能优化与架构.md
@@ -99,13 +99,13 @@ instruction: &quot;Given a shopping query, rank product titles by relevance&quot; @@ -99,13 +99,13 @@ instruction: &quot;Given a shopping query, rank product titles by relevance&quot;
99 99
100 **具体内容**: 100 **具体内容**:
101 - **接口**:`POST /indexer/enrich-content`(Indexer 服务端口 **6004**)。请求体为 `items` 数组,每项含 `spu_id`、`title`(必填)及可选多语言标题等;单次请求最多 **50 条**,建议批量调用。响应 `results` 与 `items` 一一对应,每项含 `spu_id`、`qanchors`(按语言键,如 `qanchors.zh`、`qanchors.en`,逗号分隔短语)、`enriched_attributes`、`tags`。 101 - **接口**:`POST /indexer/enrich-content`(Indexer 服务端口 **6004**)。请求体为 `items` 数组,每项含 `spu_id`、`title`(必填)及可选多语言标题等;单次请求最多 **50 条**,建议批量调用。响应 `results` 与 `items` 一一对应,每项含 `spu_id`、`qanchors`(按语言键,如 `qanchors.zh`、`qanchors.en`,逗号分隔短语)、`enriched_attributes`、`tags`。
102 --- **索引侧**:微服务组合方式下,调用方先拿不含 qanchors/tags 的 doc,再调用本接口补齐后写入 ES 的 `qanchors.{lang}` 等字段;索引 transformer(`indexer/document_transformer.py`、`indexer/product_enrich.py`)内也可在构建 doc 时调用内容理解逻辑,写入 `qanchors.{lang}`。 102 +- **索引侧**:微服务组合方式下,调用方先拿不含 qanchors/tags 的 doc,再调用本接口补齐后写入 ES 的 `qanchors.{lang}` 等字段;索引 transformer(`indexer/document_transformer.py`、`indexer/product_enrich.py`)内也可在构建 doc 时调用内容理解逻辑,写入 `qanchors.{lang}`。
103 - **Suggest 侧**:`suggestion/builder.py` 从 ES 商品索引读取 `_source: ["id", "spu_id", "title", "qanchors"]`,对 `qanchors.{lang}` 用 `_split_qanchors` 拆成词条,以 `source="qanchor"` 加入候选,排序时 `qanchor` 权重大于纯 title(`add_product("qanchor", ...)`);suggest 配置中 `sources: ["query_log", "qanchor"]` 表示候选来源包含 qanchor。 103 - **Suggest 侧**:`suggestion/builder.py` 从 ES 商品索引读取 `_source: ["id", "spu_id", "title", "qanchors"]`,对 `qanchors.{lang}` 用 `_split_qanchors` 拆成词条,以 `source="qanchor"` 加入候选,排序时 `qanchor` 权重大于纯 title(`add_product("qanchor", ...)`);suggest 配置中 `sources: ["query_log", "qanchor"]` 表示候选来源包含 qanchor。
104 - **实现与依赖**:内容理解内部使用大模型(需 `DASHSCOPE_API_KEY`),支持多语言与 Redis 缓存(如 `product_anchors`);逻辑与 `indexer/product_enrich` 一致。 104 - **实现与依赖**:内容理解内部使用大模型(需 `DASHSCOPE_API_KEY`),支持多语言与 Redis 缓存(如 `product_anchors`);逻辑与 `indexer/product_enrich` 一致。
105 105
106 **状态**:内容理解字段已接入索引与 suggest 链路;依赖内容理解(qanchors/tags)的**全量数据尚未全部完成一轮**,后续需持续跑满并校验效果。 106 **状态**:内容理解字段已接入索引与 suggest 链路;依赖内容理解(qanchors/tags)的**全量数据尚未全部完成一轮**,后续需持续跑满并校验效果。
107 107
108 -详见:`indexer/ANCHORS_AND_SEMANTIC_ATTRIBUTES.md`、`docs/搜索API对接指南.md`(内容理解接口)、`api/routes/indexer.py`(enrich-content 路由)。 108 +详见:`indexer/ANCHORS_AND_SEMANTIC_ATTRIBUTES.md`、`docs/搜索API对接指南-05-索引接口(Indexer).md`(`enrich-content` 等)、`api/routes/indexer.py`(enrich-content 路由)。
109 109
110 --- 110 ---
111 111
indexer/ANCHORS_AND_SEMANTIC_ATTRIBUTES.md
@@ -411,5 +411,5 @@ def create_prompt(products: List[Dict[str, str]], target_lang: str = &quot;zh&quot;) -&gt; st @@ -411,5 +411,5 @@ def create_prompt(products: List[Dict[str, str]], target_lang: str = &quot;zh&quot;) -&gt; st
411 - 可以在 `dim_keys` 中新增维度名(如 `style`, `benefit` 等),只要在 prompt 与解析逻辑中增加对应列即可; 411 - 可以在 `dim_keys` 中新增维度名(如 `style`, `benefit` 等),只要在 prompt 与解析逻辑中增加对应列即可;
412 - 可以为 `enriched_attributes` 增加额外字段(如 `confidence`、`source`),用于更精细的控制(当前 mapping 为简单版)。 412 - 可以为 `enriched_attributes` 增加额外字段(如 `confidence`、`source`),用于更精细的控制(当前 mapping 为简单版)。
413 413
414 -如需在查询层面增加基于 `enriched_attributes` 的统一 DSL(类似 `specifications` 的过滤/分面规则),推荐在 `docs/搜索API对接指南.md` 中新增一节,并在 `search/es_query_builder.py` 里封装构造逻辑,避免前端直接拼 nested 查询。 414 +如需在查询层面增加基于 `enriched_attributes` 的统一 DSL(类似 `specifications` 的过滤/分面规则),推荐在 `docs/搜索API对接指南-01-搜索接口.md` 或 `docs/搜索API对接指南-08-数据模型与字段速查.md` 中新增一节,并在 `search/es_query_builder.py` 里封装构造逻辑,避免前端直接拼 nested 查询。
415 415
scripts/benchmark_translation_longtext_single.py
@@ -31,7 +31,7 @@ def parse_args() -&gt; argparse.Namespace: @@ -31,7 +31,7 @@ def parse_args() -&gt; argparse.Namespace:
31 parser.add_argument("--source-lang", default="zh") 31 parser.add_argument("--source-lang", default="zh")
32 parser.add_argument("--target-lang", default="en") 32 parser.add_argument("--target-lang", default="en")
33 parser.add_argument("--scene", default="sku_name") 33 parser.add_argument("--scene", default="sku_name")
34 - parser.add_argument("--source-md", default="docs/搜索API对接指南.md") 34 + parser.add_argument("--source-md", default="docs/DEVELOPER_GUIDE.md")
35 parser.add_argument("--paragraph-min-chars", type=int, default=250) 35 parser.add_argument("--paragraph-min-chars", type=int, default=250)
36 parser.add_argument("--target-doc-chars", type=int, default=4500) 36 parser.add_argument("--target-doc-chars", type=int, default=4500)
37 parser.add_argument("--min-doc-chars", type=int, default=2400) 37 parser.add_argument("--min-doc-chars", type=int, default=2400)
scripts/perf_api_benchmark.py
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 """ 2 """
3 API-level performance test script for search stack services. 3 API-level performance test script for search stack services.
4 4
5 -Default scenarios (aligned with docs/搜索API对接指南.md): 5 +Default scenarios (aligned with docs/搜索API对接指南 分册,如 -01 / -02 / -07):
6 - backend_search POST /search/ 6 - backend_search POST /search/
7 - backend_suggest GET /search/suggestions 7 - backend_suggest GET /search/suggestions
8 - embed_text POST /embed/text 8 - embed_text POST /embed/text
translation/README.md
@@ -871,4 +871,4 @@ NLLB 性能优化经验: @@ -871,4 +871,4 @@ NLLB 性能优化经验:
871 - [`docs/翻译模块说明.md`](/data/saas-search/docs/翻译模块说明.md)(已收口到本 README,保留为跳转页) 871 - [`docs/翻译模块说明.md`](/data/saas-search/docs/翻译模块说明.md)(已收口到本 README,保留为跳转页)
872 - [`docs/QUICKSTART.md`](/data/saas-search/docs/QUICKSTART.md) 872 - [`docs/QUICKSTART.md`](/data/saas-search/docs/QUICKSTART.md)
873 - [`docs/DEVELOPER_GUIDE.md`](/data/saas-search/docs/DEVELOPER_GUIDE.md) 873 - [`docs/DEVELOPER_GUIDE.md`](/data/saas-search/docs/DEVELOPER_GUIDE.md)
874 -- [`docs/搜索API对接指南.md`](/data/saas-search/docs/搜索API对接指南.md) 874 +- [`docs/搜索API对接指南-00-总览与快速开始.md`](/data/saas-search/docs/搜索API对接指南-00-总览与快速开始.md)(分册导航;微服务见 `-07`)