diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-27 18:04:14 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-27 18:04:14 -0400 |
| commit | 7416215530c45a9d623e9b8129fa0dd3980780a2 (patch) | |
| tree | e56476aa19f019574906bff3c42880298e4ea95a | |
| parent | 984046cf99e2aab428364b017d0317f18adc1284 (diff) | |
more music sorting 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) |
