diff options
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs index 5c309a896..ea70f4079 100644 --- a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs @@ -110,15 +110,12 @@ namespace MediaBrowser.Server.Implementations.Library var items = inputItems.Where(i => !(i is MusicArtist)).ToList(); - foreach (var item in items) + hints.AddRange(items.AsParallel().Select(item => { var index = GetIndex(item.Name, searchTerm, terms); - if (index.Item2 != -1) - { - hints.Add(new Tuple<BaseItem, string, int>(item, index.Item1, index.Item2)); - } - } + return new Tuple<BaseItem, string, int>(item, index.Item1, index.Item2); + })); // Find artists var artists = items.OfType<Audio>() @@ -222,7 +219,7 @@ namespace MediaBrowser.Server.Implementations.Library } } - return hints.OrderBy(i => i.Item3).Select(i => new SearchHintInfo + return hints.Where(i => i.Item3 >= 0).OrderBy(i => i.Item3).Select(i => new SearchHintInfo { Item = i.Item1, MatchedTerm = i.Item2 @@ -268,7 +265,7 @@ namespace MediaBrowser.Server.Implementations.Library { return new Tuple<string, int>(searchTerm, 3 + (i + 1) * (j + 1)); } - + index = item.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase); if (index == 0) |
