aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs13
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)