diff --git a/lib/music_library/records/similarity.ex b/lib/music_library/records/similarity.ex index 0a7f6937..8ce14633 100644 --- a/lib/music_library/records/similarity.ex +++ b/lib/music_library/records/similarity.ex @@ -68,8 +68,13 @@ defmodule MusicLibrary.Records.Similarity do where: re.record_id != ^record_id, join: r in Record, on: r.id == re.record_id and r.musicbrainz_id != ^record_musicbrainz_id, - order_by: vec_distance_cosine(re.embedding, vec_f32(source_embedding)), - select: {r, re.embedding}, + order_by: selected_as(:similarity), + select: %{ + record: r, + similarity: + vec_distance_cosine(re.embedding, vec_f32(source_embedding)) + |> selected_as(:similarity) + }, group_by: r.musicbrainz_id, limit: ^limit diff --git a/lib/music_library_web/components/record_components.ex b/lib/music_library_web/components/record_components.ex index 6cf09b04..01c28ed4 100644 --- a/lib/music_library_web/components/record_components.ex +++ b/lib/music_library_web/components/record_components.ex @@ -406,7 +406,10 @@ defmodule MusicLibraryWeb.RecordComponents do role="list" class="mt-4 grid grid-cols-2 gap-x-4 gap-y-6 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 sm:gap-x-6" > -