Browse Source

include item state in search index duplicate filter (#875)

pull/876/head
Jason Dove 4 years ago committed by GitHub
parent
commit
c47099895e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      CHANGELOG.md
  2. 14
      ErsatzTV.Infrastructure/Search/SearchIndex.cs

1
CHANGELOG.md

@ -9,6 +9,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Properly apply changes to episode title, sort title, outline and plot from Plex - Properly apply changes to episode title, sort title, outline and plot from Plex
- Fix search index for other videos and songs - Fix search index for other videos and songs
- In previous versions, some libraries would incorrectly display only one item - In previous versions, some libraries would incorrectly display only one item
- Properly display old versions of renamed items in trash
## [0.6.2-beta] - 2022-06-18 ## [0.6.2-beta] - 2022-06-18
### Fixed ### Fixed

14
ErsatzTV.Infrastructure/Search/SearchIndex.cs

@ -88,7 +88,7 @@ public sealed class SearchIndex : ISearchIndex
_initialized = false; _initialized = false;
} }
public int Version => 26; public int Version => 27;
public async Task<bool> Initialize( public async Task<bool> Initialize(
ILocalFileSystem localFileSystem, ILocalFileSystem localFileSystem,
@ -1111,14 +1111,20 @@ public sealed class SearchIndex : ISearchIndex
return query; return query;
} }
// this is used for filtering duplicate search results
private static string GetTitleAndYear(Metadata metadata) => private static string GetTitleAndYear(Metadata metadata) =>
metadata switch metadata switch
{ {
EpisodeMetadata em => EpisodeMetadata em =>
$"{em.Title}_{em.Year}_{em.Episode.Season.SeasonNumber}_{em.EpisodeNumber}" $"{em.Title}_{em.Year}_{em.Episode.Season.SeasonNumber}_{em.EpisodeNumber}_{em.Episode.State}"
.ToLowerInvariant(), .ToLowerInvariant(),
OtherVideoMetadata ovm => $"{ovm.Title}_{ovm.Year}".ToLowerInvariant(), OtherVideoMetadata ovm => $"{ovm.Title}_{ovm.Year}_{ovm.OtherVideo.State}".ToLowerInvariant(),
SongMetadata sm => $"{sm.Title}_{sm.Year}".ToLowerInvariant(), SongMetadata sm => $"{sm.Title}_{sm.Year}_{sm.Song.State}".ToLowerInvariant(),
MovieMetadata mm => $"{mm.Title}_{mm.Year}_{mm.Movie.State}".ToLowerInvariant(),
ArtistMetadata am => $"{am.Title}_{am.Year}_{am.Artist.State}".ToLowerInvariant(),
MusicVideoMetadata mvm => $"{mvm.Title}_{mvm.Year}_{mvm.MusicVideo.State}".ToLowerInvariant(),
SeasonMetadata sm => $"{sm.Title}_{sm.Year}_{sm.Season.State}".ToLowerInvariant(),
ShowMetadata sm => $"{sm.Title}_{sm.Year}_{sm.Show.State}".ToLowerInvariant(),
_ => $"{metadata.Title}_{metadata.Year}".ToLowerInvariant() _ => $"{metadata.Title}_{metadata.Year}".ToLowerInvariant()
}; };

Loading…
Cancel
Save