mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.1 KiB
30 lines
1.1 KiB
using Bugsnag; |
|
using ErsatzTV.Core.Domain; |
|
using ErsatzTV.Core.Interfaces.Metadata; |
|
using ErsatzTV.Core.Interfaces.Repositories; |
|
using ErsatzTV.Core.Interfaces.Repositories.Caching; |
|
using ErsatzTV.Core.Search; |
|
|
|
namespace ErsatzTV.Core.Interfaces.Search; |
|
|
|
public interface ISearchIndex : IDisposable |
|
{ |
|
public int Version { get; } |
|
Task<bool> IndexExists(); |
|
Task<bool> Initialize(ILocalFileSystem localFileSystem, IConfigElementRepository configElementRepository); |
|
Task<Unit> Rebuild(ICachingSearchRepository searchRepository, IFallbackMetadataProvider fallbackMetadataProvider); |
|
|
|
Task<Unit> RebuildItems( |
|
ICachingSearchRepository searchRepository, |
|
IFallbackMetadataProvider fallbackMetadataProvider, |
|
IEnumerable<int> itemIds); |
|
|
|
Task<Unit> UpdateItems( |
|
ICachingSearchRepository searchRepository, |
|
IFallbackMetadataProvider fallbackMetadataProvider, |
|
List<MediaItem> items); |
|
|
|
Task<bool> RemoveItems(IEnumerable<int> ids); |
|
Task<SearchResult> Search(IClient client, string query, string smartCollectionName, int skip, int limit); |
|
void Commit(); |
|
}
|
|
|