Minor cleanup
This commit is contained in:
@@ -453,7 +453,12 @@ Artist::getSimilarArtists(std::optional<std::size_t> offset, std::optional<std::
|
||||
" INNER JOIN track t ON t.id = t_a_l.track_id"
|
||||
" INNER JOIN track_cluster t_c ON t_c.track_id = t.id"
|
||||
" WHERE "
|
||||
" t_c.cluster_id IN (SELECT c.id from cluster c INNER JOIN track t ON c.id = t_c.cluster_id INNER JOIN track_cluster t_c ON t_c.track_id = t.id INNER JOIN artist a ON a.id = t_a_l.artist_id INNER JOIN track_artist_link t_a_l ON t_a_l.track_id = t.id WHERE a.id = ?)"
|
||||
" t_c.cluster_id IN (SELECT c.id from cluster c"
|
||||
" INNER JOIN track t ON c.id = t_c.cluster_id"
|
||||
" INNER JOIN track_cluster t_c ON t_c.track_id = t.id"
|
||||
" INNER JOIN artist a ON a.id = t_a_l.artist_id"
|
||||
" INNER JOIN track_artist_link t_a_l ON t_a_l.track_id = t.id"
|
||||
" WHERE a.id = ?)"
|
||||
" AND a.id <> ?"
|
||||
)
|
||||
.bind(self()->id())
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
static
|
||||
void
|
||||
dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
dumpTracksRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
{
|
||||
const std::vector<Database::IdType> trackIds {[&]()
|
||||
{
|
||||
@@ -69,7 +69,12 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
for (Database::IdType similarTrackId : engine.getSimilarTracks(session, {trackId}, 3))
|
||||
std::cout << "\t- Similar track '" << trackToString(similarTrackId) << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
dumpReleasesRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
{
|
||||
const std::vector<Database::IdType> releaseIds = std::invoke([&]()
|
||||
{
|
||||
auto transaction {session.createSharedTransaction()};
|
||||
@@ -91,7 +96,12 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
for (Database::IdType similarReleaseId : engine.getSimilarReleases(session, releaseId, 3))
|
||||
std::cout << "\t- Similar release '" << releaseToString(similarReleaseId) << "'" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
static
|
||||
void
|
||||
dumpArtistsRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
{
|
||||
const std::vector<Database::IdType> artistIds = std::invoke([&]()
|
||||
{
|
||||
auto transaction {session.createSharedTransaction()};
|
||||
@@ -113,10 +123,6 @@ dumpRecommendation(Database::Session session, Recommendation::IEngine& engine)
|
||||
for (Database::IdType similarArtistId : engine.getSimilarArtists(session, artistId, 3))
|
||||
std::cout << "\t- Similar artist '" << artistToString(similarArtistId) << "'" << std::endl;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -153,7 +159,9 @@ int main(int argc, char *argv[])
|
||||
sem.wait();
|
||||
std::cout << "Recommendation engine loaded!" << std::endl;
|
||||
|
||||
dumpRecommendation(db, *engine);
|
||||
dumpTracksRecommendation(db, *engine);
|
||||
dumpReleasesRecommendation(db, *engine);
|
||||
dumpArtistsRecommendation(db, *engine);
|
||||
|
||||
engine->stop();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user