diff --git a/apps/api/src/repositories/playbook_repository.py b/apps/api/src/repositories/playbook_repository.py index 468dd2d9..2532ca98 100644 --- a/apps/api/src/repositories/playbook_repository.py +++ b/apps/api/src/repositories/playbook_repository.py @@ -272,7 +272,11 @@ class PlaybookRepository: playbook.symptom_pattern, ) - if similarity >= min_similarity: + # alert_names 完全匹配時,保證通過(不因其他維度拉低分數) + alert_exact_match = bool( + set(symptoms.alert_names) & set(playbook.symptom_pattern.alert_names) + ) + if alert_exact_match or similarity >= min_similarity: results.append((playbook, similarity)) # 3. 排序並返回 Top K