diff options
Diffstat (limited to 'MediaBrowser.Api/SimilarItemsHelper.cs')
| -rw-r--r-- | MediaBrowser.Api/SimilarItemsHelper.cs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/MediaBrowser.Api/SimilarItemsHelper.cs b/MediaBrowser.Api/SimilarItemsHelper.cs index 683e609d2..d1dc801bc 100644 --- a/MediaBrowser.Api/SimilarItemsHelper.cs +++ b/MediaBrowser.Api/SimilarItemsHelper.cs @@ -130,6 +130,17 @@ namespace MediaBrowser.Api return new List<string>(); } + private static IEnumerable<string> GetKeywords(BaseItem item) + { + var hasTags = item as IHasKeywords; + if (hasTags != null) + { + return hasTags.Keywords; + } + + return new List<string>(); + } + /// <summary> /// Gets the similiarity score. /// </summary> @@ -151,6 +162,9 @@ namespace MediaBrowser.Api // Find common tags points += GetTags(item1).Where(i => GetTags(item2).Contains(i, StringComparer.OrdinalIgnoreCase)).Sum(i => 10); + // Find common keywords + points += GetKeywords(item1).Where(i => GetKeywords(item2).Contains(i, StringComparer.OrdinalIgnoreCase)).Sum(i => 10); + // Find common studios points += item1.Studios.Where(i => item2.Studios.Contains(i, StringComparer.OrdinalIgnoreCase)).Sum(i => 3); |
