-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
Searching doesn't perform well #5283
Comments
The search "engine" has annoyed me since Emby times. It has no full text search features at all. I was thinking of integrating Lucene into Jellyfin so it finally has a proper search engine, Elasticsearch is probably overkill for this use case. Any thoughts or pointers on this by the Jellyfin maintainers? From a quick glance at the code it seems like Jellyfin is completely lacking any indexing tasks so far? I found the search engine here: Search related controllers here (although the first one doesn't seem to use the engine?): The proper procedure would probably be to add a task for indexing and create a search engine implementing the ISearchEngine interface? Maybe it's also possible to reduce the API calls when searching to further speed things up, a lot of requests for a single search request. |
I probably wouldn't dive too deeply into the search code, our plan is to migrate entirely to EFCore. The last database is the library database, and likely any searching that is implemented will have to be redone |
@crobibero Any rough timeline on when the switch is happening? I will take a look if a simple implementation is possible for now, assuming the change is more than a year away. |
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. |
How is this going on ? |
Hi, This is a hack I've written to better Jellyfin's poor search capabilities while patiently waiting it migrates to EFCore :) It should fix case 2 you've described (possibly 1 too), and better Jellyfin search overall. Jellyfin's search is restricted to the name of the medias. The hack extends it to the following fields: Overview, Genres, Studios and ProductionYear (it is easy to include more). It also allows to omit accents. The hack is a php cli script that should be run on a regular basis, while Jellyfin is stopped. It updates all "CleanName" fields in the database, which is a hidden data used by the search process. Any new (or modified) media is affected only after the script has run. I run it every 24 hours with a cron task that stops Jellyfin, backups the database, run the hack and restarts Jellyfin. WARNING: use at your own risk, test on a copy of library.db.
|
Where would this be placed exactly? |
had to install sqllite3 and then it errored as the db was readonly. My issue is that search doesn't work at all. Search page is blank and remains blank. |
This php file (I've named Here is the shell script I use as a cron job on my server, where Jellyfin is installed as a docker container. It could be placed anywhere but it put in
And I wipe the backups out from time to time. |
Not sure if I understand nor if I can help here ! Try without the transliterating, maybe. |
Describe the bug
System (please complete the following information):
case 1
WWW-234
WWW 234
return nothingcase 2
***** WWW 234 ****
234 WWW
return nothingcase 2
钟
钟
return nothingcase 3
The text was updated successfully, but these errors were encountered: