mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
[PR #16121] Implement search providers #14534
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/16121
Author: @Shadowghost
Created: 1/27/2026
Status: 🔄 Open
Base:
master← Head:search-rebased📝 Commits (1)
771919cImplement search providers📊 Changes
20 files changed (+1227 additions, -277 deletions)
View changed files
📝
Emby.Server.Implementations/ApplicationHost.cs(+5 -1)📝
Emby.Server.Implementations/Dto/DtoService.cs(+55 -8)➕
Emby.Server.Implementations/Library/Search/SearchManager.cs(+456 -0)➕
Emby.Server.Implementations/Library/Search/SqlSearchProvider.cs(+120 -0)➖
Emby.Server.Implementations/Library/SearchEngine.cs(+0 -200)📝
Emby.Server.Implementations/Library/UserDataManager.cs(+68 -0)📝
Jellyfin.Api/Controllers/ItemsController.cs(+100 -9)📝
Jellyfin.Api/Controllers/SearchController.cs(+8 -7)📝
Jellyfin.Server.Implementations/Item/BaseItemRepository.cs(+34 -26)📝
MediaBrowser.Controller/Entities/InternalItemsQuery.cs(+2 -0)➕
MediaBrowser.Controller/Library/IExternalSearchProvider.cs(+20 -0)➕
MediaBrowser.Controller/Library/IInternalSearchProvider.cs(+8 -0)➖
MediaBrowser.Controller/Library/ISearchEngine.cs(+0 -18)➕
MediaBrowser.Controller/Library/ISearchManager.cs(+47 -0)➕
MediaBrowser.Controller/Library/ISearchProvider.cs(+44 -0)📝
MediaBrowser.Controller/Library/IUserDataManager.cs(+8 -0)➕
MediaBrowser.Controller/Library/SearchProviderQuery.cs(+52 -0)➕
MediaBrowser.Controller/Library/SearchResult.cs(+69 -0)📝
MediaBrowser.Model/Configuration/MetadataPluginType.cs(+2 -1)📝
src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinQueryHelperExtensions.cs(+129 -7)📄 Description
Extracts searching into internal and external search providers.
Example plugin for external search: https://github.com/Shadowghost/jellyfin-plugin-meilisearch
Changes
Issues
Currently there are still some performance issues with mapping external search results to actual response objects because the userdata fetching is inefficient. Not much we can do about that without the changes from #16062
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.