-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multisearch #469
base: develop
Are you sure you want to change the base?
Multisearch #469
Conversation
Thanks for your attempt! Will check this. |
src/libs/database/impl/AnyMedium.cpp
Outdated
|
||
namespace | ||
{ | ||
AnyMediumId fromString(const std::string &type, const Wt::Dbo::dbo_default_traits::IdType id) |
Check notice
Code scanning / CodeQL
Unused static function
I managed to test your branch. Wow, looks like there are a lot of changes! Here are my remarks:
Thanks again for the nice ideas! |
Could be used, but this is work for some other time. Regarding track/album artist, I'll check it later, I'm not sure how to handle both types yet.
There are quite a lot of code duplications added on this branch, I'll try to follow on it later.
This is probably because Views are in no way cached in Sqlite. We'll probably need to make
I've seen it, but still comes with annoying click to switch result type, which I'm striving to avoid. Search results are supposed to be weighted, so all tracks of artist should appear below him (unless of course track names contain the same keywords). Making results look clean and readable is a job for ui designer, which sadly I'm not; I thought about distinguishing entities by icons and colours, but not sure. Maybe coulour frame for cover? or coloured names? Will toy with it later. Ultimately, there shouldn't be any problem with keeping both search approaches and guarding them with configuration. |
Yes, this is more to better factorize the code.
Indeed :(
What do you mean by cache keywords? You want to extract the words of the titles, names, etc. and search by exact keyword match?
I see. Maybe we could also consider putting some artists first, then some releases, then some tracks? We could add a "show more" button after each section that makes the view focus on the selected type and add more results using an infinite scroller. I guess for most searches we would not even need to click.
I do agree with this, the current "Search..." fields are actually "filters" |
More or less, I want to create "middle results", which are cached, and then can be searched for cheap. It's already done in the form of view in Session.cpp, but since views are not cached it does nothing for performance. I intend to make it into proper table, but I'm not sure at which points it should be recalculated.
The results are sorted by weight, and hit in direct name is scored far higher than matching artist. I hope it's enough for the target result to come on top. Your proposal is more or less what Spotify does, to which I personally am not convinced, I often look into wrong section and wonder where are my results. Still, it's all matter of taste, perhaps adding configuration options would be for the best. |
Fixed the release/track artist issue, though now some releases may have none. |
# Conflicts: # src/libs/database/impl/Migration.cpp # src/libs/database/include/database/ArtistId.hpp # src/libs/database/include/database/ClusterId.hpp # src/libs/database/include/database/IdType.hpp # src/libs/database/include/database/ListenId.hpp # src/libs/database/include/database/User.hpp # src/lms/ui/LmsApplication.cpp # src/lms/ui/Utils.hpp # src/lms/ui/explore/ArtistsView.cpp # src/lms/ui/explore/DatabaseCollectorBase.hpp # src/lms/ui/explore/Explore.cpp # src/lms/ui/explore/ReleaseHelpers.hpp # src/lms/ui/explore/ReleaseView.cpp # src/lms/ui/explore/ReleasesView.cpp # src/lms/ui/explore/TracksView.cpp # src/lms/ui/resource/CoverResource.hpp
@epoupon Could you test it again? I've implemented your remarks as much as I could. |
Hello! Thanks for your work. Will try to have a look on it very soon. |
Sure, I've added you as a collaborator to my fork, hope it allows you to. |
Attempt at #461. I'm not sure about looks and the search engine is abysmal, but in general it works. When ready, I think the single searchers could be removed to clean the interface.