Commit 25d3e81dfc59dc2a1a7d4541162de919d08fd770

Authored by tangwang
1 parent c86c8237

fix指定sort项时候的bug

Showing 1 changed file with 5 additions and 5 deletions   Show diff stats
search/searcher.py
... ... @@ -314,7 +314,7 @@ class Searcher:
314 314 context.logger.info(
315 315 f"ES搜索完成 | 耗时: {es_took}ms | "
316 316 f"命中数: {es_response.get('hits', {}).get('total', {}).get('value', 0)} | "
317   - f"最高分: {es_response.get('hits', {}).get('max_score', 0):.3f}",
  317 + f"最高分: {(es_response.get('hits', {}).get('max_score') or 0):.3f}",
318 318 extra={'reqid': context.reqid, 'uid': context.uid}
319 319 )
320 320 except Exception as e:
... ... @@ -339,13 +339,13 @@ class Searcher:
339 339  
340 340 result_doc = {
341 341 '_id': hit['_id'],
342   - '_score': hit['_score'],
  342 + '_score': hit.get('_score') or 0.0,
343 343 '_source': hit['_source']
344 344 }
345 345  
346 346 # Apply custom ranking if enabled
347 347 if enable_rerank:
348   - base_score = hit['_score']
  348 + base_score = hit.get('_score') or 0.0
349 349 knn_score = None
350 350  
351 351 # Check if KNN was used
... ... @@ -383,7 +383,7 @@ class Searcher:
383 383 else:
384 384 total_value = total
385 385  
386   - max_score = es_response.get('hits', {}).get('max_score', 0.0)
  386 + max_score = es_response.get('hits', {}).get('max_score') or 0.0
387 387  
388 388 # Extract aggregations
389 389 aggregations = es_response.get('aggregations', {})
... ... @@ -495,7 +495,7 @@ class Searcher:
495 495 return SearchResult(
496 496 hits=hits,
497 497 total=total_value,
498   - max_score=es_response.get('hits', {}).get('max_score', 0.0),
  498 + max_score=es_response.get('hits', {}).get('max_score') or 0.0,
499 499 took_ms=es_response.get('took', 0),
500 500 query_info={'image_url': image_url, 'search_type': 'image_similarity'}
501 501 )
... ...