Skip to content

Commit 5b06c37

Browse files
committed
fix: solve exact match mismatch
1 parent a2c5dcb commit 5b06c37

1 file changed

Lines changed: 16 additions & 20 deletions

File tree

app/modules/competitive/controllers/pro_matches_controller.rb

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -507,32 +507,28 @@ def set_pandascore_service
507507
# 2. Prefix wildcard on first word, case-insensitive (handles suffix differences
508508
# between sources, e.g. PandaScore "RED Academy" vs Leaguepedia "RED Kalunga Academy")
509509
def team_clause(name, field)
510-
prefix = name.split.first.to_s
511-
{
512-
bool: {
513-
should: [
514-
{ term: { "#{field}.name" => name } },
515-
{ wildcard: { "#{field}.name" => { value: "#{prefix}*", case_insensitive: true } } }
516-
],
517-
minimum_should_match: 1
518-
}
519-
}
510+
clauses = [{ term: { "#{field}.name" => name } }]
511+
512+
# Wildcard only for multi-word names to handle sponsor suffixes (e.g. "FlyQuest NZXT").
513+
# Uses the full name as prefix to avoid false matches ("Team" would hit "Team WE").
514+
if name.split.length > 1
515+
clauses << { wildcard: { "#{field}.name" => { value: "#{name}*", case_insensitive: true } } }
516+
end
517+
518+
{ bool: { should: clauses, minimum_should_match: 1 } }
520519
end
521520

522521
# Matches win_team using the same prefix-wildcard logic as team_clause.
523522
# Needed because PandaScore names have sponsor suffixes (e.g. "FlyQuest NZXT")
524523
# while Oracle's Elixir stores the base name ("FlyQuest").
525524
def win_team_clause(name)
526-
prefix = name.split.first.to_s
527-
{
528-
bool: {
529-
should: [
530-
{ term: { win_team: name } },
531-
{ wildcard: { win_team: { value: "#{prefix}*", case_insensitive: true } } }
532-
],
533-
minimum_should_match: 1
534-
}
535-
}
525+
clauses = [{ term: { win_team: name } }]
526+
527+
if name.split.length > 1
528+
clauses << { wildcard: { win_team: { value: "#{name}*", case_insensitive: true } } }
529+
end
530+
531+
{ bool: { should: clauses, minimum_should_match: 1 } }
536532
end
537533

538534
def apply_filters(matches)

0 commit comments

Comments
 (0)