add more search fields (#769)

This commit is contained in:
Jason Dove
2022-04-28 10:40:27 -05:00
committed by GitHub
parent 780ebc01ee
commit 17f540dc99
13 changed files with 46 additions and 67 deletions
@@ -11,7 +11,6 @@ public interface ISearchIndex : IDisposable
Task<bool> Initialize(ILocalFileSystem localFileSystem);
Task<Unit> Rebuild(ISearchRepository searchRepository);
Task<Unit> RebuildItems(ISearchRepository searchRepository, List<int> itemIds);
Task<Unit> AddItems(ISearchRepository searchRepository, List<MediaItem> items);
Task<Unit> UpdateItems(ISearchRepository searchRepository, List<MediaItem> items);
Task<Unit> RemoveItems(List<int> ids);
Task<SearchResult> Search(string query, int skip, int limit, string searchField = "");
@@ -157,13 +157,9 @@ public abstract class MediaServerMovieLibraryScanner<TConnectionParameters, TLib
}
}
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
}
}
+2 -6
View File
@@ -158,13 +158,9 @@ public class MovieFolderScanner : LocalFolderScanner, IMovieFolderScanner
foreach (MediaItemScanResult<Movie> result in maybeMovie.RightToSeq())
{
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
await _libraryRepository.SetEtag(libraryPath, knownFolder, movieFolder, etag);
@@ -135,13 +135,9 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
return error;
}
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
}
}
@@ -329,13 +325,9 @@ public class MusicVideoFolderScanner : LocalFolderScanner, IMusicVideoFolderScan
foreach (MediaItemScanResult<MusicVideo> result in maybeMusicVideo.RightToSeq())
{
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
await _libraryRepository.SetEtag(libraryPath, knownFolder, musicVideoFolder, etag);
@@ -152,13 +152,9 @@ public class OtherVideoFolderScanner : LocalFolderScanner, IOtherVideoFolderScan
foreach (MediaItemScanResult<OtherVideo> result in maybeVideo.RightToSeq())
{
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
await _libraryRepository.SetEtag(libraryPath, knownFolder, otherVideoFolder, etag);
+2 -6
View File
@@ -150,13 +150,9 @@ public class SongFolderScanner : LocalFolderScanner, ISongFolderScanner
foreach (MediaItemScanResult<Song> result in maybeSong.RightToSeq())
{
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
await _libraryRepository.SetEtag(libraryPath, knownFolder, songFolder, etag);
@@ -125,13 +125,9 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
return error;
}
if (result.IsAdded)
if (result.IsAdded || result.IsUpdated)
{
await _searchIndex.AddItems(_searchRepository, new List<MediaItem> { result.Item });
}
else if (result.IsUpdated)
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { result.Item });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { result.Item.Id });
}
}
}
@@ -245,7 +241,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
await _libraryRepository.SetEtag(libraryPath, knownFolder, seasonFolder, etag);
season.Show = show;
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { season });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { season.Id });
}
}
}
@@ -291,7 +287,7 @@ public class TelevisionFolderScanner : LocalFolderScanner, ITelevisionFolderScan
foreach (Episode episode in maybeEpisode.RightToSeq())
{
await _searchIndex.UpdateItems(_searchRepository, new List<MediaItem> { episode });
await _searchIndex.RebuildItems(_searchRepository, new List<int> { episode.Id });
}
}