fix: outfit search

This commit is contained in:
imeepos 2025-07-24 16:03:23 +08:00
parent dadd13721e
commit f859bb5322
1 changed files with 25 additions and 0 deletions

View File

@ -612,6 +612,16 @@ fn convert_vertex_response_to_search_results(
eprintln!("最终返回 {} 个过滤后的结果", results.len()); eprintln!("最终返回 {} 个过滤后的结果", results.len());
// 按相关性评分降序排序
results.sort_by(|a, b| {
b.relevance_score.partial_cmp(&a.relevance_score).unwrap_or(std::cmp::Ordering::Equal)
});
eprintln!("排序后的结果:");
for (index, result) in results.iter().enumerate() {
eprintln!(" {}. ID={}, 相关性评分={:.3}", index + 1, result.id, result.relevance_score);
}
let total_size = vertex_response let total_size = vertex_response
.get("totalSize") .get("totalSize")
.and_then(|v| v.as_u64()) .and_then(|v| v.as_u64())
@ -707,6 +717,21 @@ fn parse_vertex_result_to_search_result(
.and_then(|v| v.as_f64()) .and_then(|v| v.as_f64())
.unwrap_or(0.0); .unwrap_or(0.0);
// 调试:打印相关性评分解析过程
if let Some(model_scores) = vertex_result.get("modelScores") {
eprintln!("ModelScores 结构: {}", serde_json::to_string_pretty(model_scores).unwrap_or_default());
if let Some(relevance_data) = model_scores.get("relevance_score") {
eprintln!("Relevance Score 数据: {}", serde_json::to_string_pretty(relevance_data).unwrap_or_default());
} else {
eprintln!("未找到 relevance_score 字段,可用字段: {:?}", model_scores.as_object().map(|obj| obj.keys().collect::<Vec<_>>()));
}
} else {
eprintln!("未找到 modelScores 字段");
}
eprintln!("解析得到的相关性评分: {:.3}", relevance_score);
Ok(SearchResult { Ok(SearchResult {
id, id,
image_url, image_url,