瀏覽代碼

more music sorting options

Luke Pulverenti 12 年之前
父節點
當前提交
7416215530
共有 1 個文件被更改,包括 5 次插入8 次删除
  1. 5 8
      MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs

+ 5 - 8
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)