Commit f0577ce4a5c7826dcba49543bc9f19446b1aa174

Authored by tangwang
1 parent d3a4e259

fix last up

@@ -198,7 +198,7 @@ class ProductResult(BaseModel): @@ -198,7 +198,7 @@ class ProductResult(BaseModel):
198 image_url: Optional[str] = Field(None, description="主图URL") 198 image_url: Optional[str] = Field(None, description="主图URL")
199 in_stock: bool = Field(True, description="是否有库存") 199 in_stock: bool = Field(True, description="是否有库存")
200 variants: List[VariantResult] = Field(default_factory=list, description="变体列表") 200 variants: List[VariantResult] = Field(default_factory=list, description="变体列表")
201 - relevance_score: float = Field(..., ge=0.0, le=1.0, description="相关性分数(0-1)") 201 + relevance_score: float = Field(..., ge=0.0, description="相关性分数(ES原始分数)")
202 202
203 203
204 class SearchResponse(BaseModel): 204 class SearchResponse(BaseModel):
api/result_formatter.py
@@ -19,7 +19,7 @@ class ResultFormatter: @@ -19,7 +19,7 @@ class ResultFormatter:
19 19
20 Args: 20 Args:
21 es_hits: List of ES hit dictionaries (with _id, _score, _source) 21 es_hits: List of ES hit dictionaries (with _id, _score, _source)
22 - max_score: Maximum score for normalization 22 + max_score: Maximum score (unused, kept for compatibility)
23 23
24 Returns: 24 Returns:
25 List of ProductResult objects 25 List of ProductResult objects
@@ -30,11 +30,8 @@ class ResultFormatter: @@ -30,11 +30,8 @@ class ResultFormatter:
30 source = hit.get('_source', {}) 30 source = hit.get('_source', {})
31 score = hit.get('_score', 0.0) 31 score = hit.get('_score', 0.0)
32 32
33 - # Normalize relevance score to 0-1  
34 - if max_score > 0:  
35 - relevance_score = min(score / max_score, 1.0)  
36 - else:  
37 - relevance_score = 0.0 33 + # Use original ES score directly (no normalization)
  34 + relevance_score = score
38 35
39 # Extract variants 36 # Extract variants
40 variants = [] 37 variants = []
docs/BASE_CONFIG_GUIDE.md
@@ -179,7 +179,7 @@ Content-Type: application/json @@ -179,7 +179,7 @@ Content-Type: application/json
179 2. **结构化结果**:每个结果包含`product_id`, `title`, `variants`, `relevance_score`等字段 179 2. **结构化结果**:每个结果包含`product_id`, `title`, `variants`, `relevance_score`等字段
180 3. **无ES内部字段**:不包含`_id`, `_score`, `_source`等ES内部字段 180 3. **无ES内部字段**:不包含`_id`, `_score`, `_source`等ES内部字段
181 4. **嵌套variants**:每个商品包含variants数组,每个variant包含完整的变体信息 181 4. **嵌套variants**:每个商品包含variants数组,每个variant包含完整的变体信息
182 -5. **相关性分数**:`relevance_score`是0-1之间的归一化分数 182 +5. **相关性分数**:`relevance_score`是ES原始分数(不进行归一化)
183 183
184 #### ProductResult字段 184 #### ProductResult字段
185 185
@@ -196,7 +196,7 @@ Content-Type: application/json @@ -196,7 +196,7 @@ Content-Type: application/json
196 - `image_url` - 主图URL 196 - `image_url` - 主图URL
197 - `in_stock` - 是否有库存 197 - `in_stock` - 是否有库存
198 - `variants` - 变体列表 198 - `variants` - 变体列表
199 -- `relevance_score` - 相关性分数(0-1 199 +- `relevance_score` - 相关性分数(ES原始分数
200 200
201 #### VariantResult字段 201 #### VariantResult字段
202 202