From d3fd53ca4c380e0020c911ef501859fdc689b09e Mon Sep 17 00:00:00 2001 From: Gabe Farrell Date: Fri, 13 Jun 2025 18:30:51 -0400 Subject: [PATCH] chore: weaken search similarity constraint --- db/queries/search.sql | 6 +++--- internal/db/psql/search_test.go | 6 +++--- internal/repository/search.sql.go | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/db/queries/search.sql b/db/queries/search.sql index 95c3cd8..979d004 100644 --- a/db/queries/search.sql +++ b/db/queries/search.sql @@ -10,7 +10,7 @@ FROM ( ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY similarity(aa.alias, $1) DESC) AS rn FROM artist_aliases aa JOIN artists_with_name a ON aa.artist_id = a.id - WHERE similarity(aa.alias, $1) > 0.28 + WHERE similarity(aa.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC @@ -60,7 +60,7 @@ FROM ( FROM track_aliases ta JOIN tracks_with_title t ON ta.track_id = t.id JOIN releases r ON t.release_id = r.id - WHERE similarity(ta.alias, $1) > 0.28 + WHERE similarity(ta.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC, title @@ -123,7 +123,7 @@ FROM ( ROW_NUMBER() OVER (PARTITION BY r.id ORDER BY similarity(ra.alias, $1) DESC) AS rn FROM release_aliases ra JOIN releases_with_title r ON ra.release_id = r.id - WHERE similarity(ra.alias, $1) > 0.28 + WHERE similarity(ra.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC, title diff --git a/internal/db/psql/search_test.go b/internal/db/psql/search_test.go index b607d76..0f6e3eb 100644 --- a/internal/db/psql/search_test.go +++ b/internal/db/psql/search_test.go @@ -19,7 +19,7 @@ func setupTestDataForSearch(t *testing.T) { require.NoError(t, err) err = store.Exec(context.Background(), `INSERT INTO artist_aliases (artist_id, alias, source, is_primary) - VALUES (1, 'Artist One With A Long Name', 'Testing', true), + VALUES (1, 'Artist One With A Really Long Name', 'Testing', true), (2, 'Artist Two', 'Testing', true)`) require.NoError(t, err) @@ -64,10 +64,10 @@ func TestSearchArtists(t *testing.T) { setupTestDataForSearch(t) // Search for "Artist One With A Long Name" - results, err := store.SearchArtists(ctx, "Artist One With A Long Name") + results, err := store.SearchArtists(ctx, "Artist One With A Really Long Name") require.NoError(t, err) require.Len(t, results, 1) - assert.Equal(t, "Artist One With A Long Name", results[0].Name) + assert.Equal(t, "Artist One With A Really Long Name", results[0].Name) // Search for substring "Artist" results, err = store.SearchArtists(ctx, "Arti") diff --git a/internal/repository/search.sql.go b/internal/repository/search.sql.go index eed25a8..5e4e038 100644 --- a/internal/repository/search.sql.go +++ b/internal/repository/search.sql.go @@ -24,7 +24,7 @@ FROM ( ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY similarity(aa.alias, $1) DESC) AS rn FROM artist_aliases aa JOIN artists_with_name a ON aa.artist_id = a.id - WHERE similarity(aa.alias, $1) > 0.28 + WHERE similarity(aa.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC @@ -153,7 +153,7 @@ FROM ( ROW_NUMBER() OVER (PARTITION BY r.id ORDER BY similarity(ra.alias, $1) DESC) AS rn FROM release_aliases ra JOIN releases_with_title r ON ra.release_id = r.id - WHERE similarity(ra.alias, $1) > 0.28 + WHERE similarity(ra.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC, title @@ -304,7 +304,7 @@ FROM ( FROM track_aliases ta JOIN tracks_with_title t ON ta.track_id = t.id JOIN releases r ON t.release_id = r.id - WHERE similarity(ta.alias, $1) > 0.28 + WHERE similarity(ta.alias, $1) > 0.22 ) ranked WHERE rn = 1 ORDER BY score DESC, title