diff --git a/arn/search/Anime.go b/arn/search/Anime.go index b8e43bcf..c0e73f5a 100644 --- a/arn/search/Anime.go +++ b/arn/search/Anime.go @@ -24,6 +24,10 @@ func Anime(originalTerm string, maxLength int) []*arn.Anime { add := func(anime *arn.Anime, similarity float64) { similarity += float64(anime.Popularity.Total()) * popularityDamping + if anime.Type != "tv" && anime.Type != "movie" { + similarity -= 0.3 + } + results = append(results, &Result{ obj: anime, similarity: similarity, diff --git a/arn/search/Anime_test.go b/arn/search/Anime_test.go index 33262a05..a3defe76 100644 --- a/arn/search/Anime_test.go +++ b/arn/search/Anime_test.go @@ -34,13 +34,14 @@ var tests = map[string]string{ "fate night": "74y2cFiiR", // Fate/stay night "stay night": "74y2cFiiR", // Fate/stay night "re zero": "Un9XpFimg", // Re:Zero kara Hajimeru Isekai Seikatsu + "slime": "VhRKhKimR", // Tensei shitara Slime Datta Ken } func TestAnimeSearch(t *testing.T) { for term, expectedAnimeID := range tests { results := search.Anime(term, 1) assert.Equal(t, len(results), 1) - assert.Equal(t, expectedAnimeID, results[0].ID) + assert.Equal(t, results[0].ID, expectedAnimeID) } } diff --git a/arn/stringutils/StringUtils.go b/arn/stringutils/StringUtils.go index 8d998cb8..02b42b59 100644 --- a/arn/stringutils/StringUtils.go +++ b/arn/stringutils/StringUtils.go @@ -49,7 +49,7 @@ func AdvancedStringSimilarity(a string, b string) float64 { s += 0.6 if strings.HasPrefix(b, a) { - s += 5.0 + s += 0.4 } }