Improve search relevance and artist transliteration
ci / api / api (push) Successful in 56s
ci / db / db (push) Successful in 1m13s

This commit is contained in:
mrleo1nid committed 2026-10-30 12:09:24 +03:00
1 parent db4548b115
commit 82f3eed9a0
10 files changed
+212 -12

No files matched your search

+5 -5
View File
@@ -27,7 +27,7 @@ type indexSpec struct {
doc func(pgx.Rows) (map[string]any, error)
}
var rankingRules = []string{"words", "typo", "proximity", "attribute", "sort", "exactness", "popularity:desc"}
var rankingRules = []string{"words", "typo", "exactness", "proximity", "attribute", "sort", "popularity:desc"}
var specs = []indexSpec{
{
@@ -43,7 +43,7 @@ var specs = []indexSpec{
if err := r.Scan(&id, &name); err != nil {
return nil, err
}
return map[string]any{"id": id, "name": name, "name_translit": Translit(name), "popularity": 0}, nil
return map[string]any{"id": id, "name": name, "name_translit": TranslitVariants(name), "popularity": 0}, nil
},
},
{
@@ -65,7 +65,7 @@ var specs = []indexSpec{
}
return map[string]any{
"id": id, "title": title, "artist_name": artist, "year": year, "popularity": 0,
"title_translit": Translit(title), "artist_translit": Translit(artist),
"title_translit": TranslitVariants(title), "artist_translit": TranslitVariants(artist),
}, nil
},
},
@@ -97,12 +97,12 @@ var specs = []indexSpec{
}
translit := make([]string, 0, len(artists))
for _, a := range artists {
translit = append(translit, Translit(a))
translit = append(translit, TranslitVariants(a)...)
}
return map[string]any{
"id": id, "title": title, "album_title": album, "year": year, "artist_names": artists,
"genres": genres, "available": available, "popularity": 0,
"title_translit": Translit(title), "artist_translit": translit,
"title_translit": TranslitVariants(title), "artist_translit": translit,
}, nil
},
},