Browse Source

use regex instead of indexof with search

Luke Pulverenti 12 năm trước cách đây
mục cha
commit
8217bafb24

+ 26 - 15
MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs

@@ -1,4 +1,5 @@
-using Lucene.Net.Analysis.Standard;
+using System.Text.RegularExpressions;
+using Lucene.Net.Analysis.Standard;
 using Lucene.Net.Documents;
 using Lucene.Net.Index;
 using Lucene.Net.QueryParsers;
@@ -240,15 +241,20 @@ namespace MediaBrowser.Server.Implementations.Library
                 return new Tuple<string, int>(searchInput, 0);
             }
 
-            var index = input.IndexOf(searchInput, StringComparison.OrdinalIgnoreCase);
+            var match = Regex.Match(input, searchInput, RegexOptions.IgnoreCase);
 
-            if (index == 0)
+            if (match.Success)
             {
-                return new Tuple<string, int>(searchInput, 1);
-            }
-            if (index > 0)
-            {
-                return new Tuple<string, int>(searchInput, 2);
+                var index = match.Index;
+
+                if (index == 0)
+                {
+                    return new Tuple<string, int>(searchInput, 1);
+                }
+                if (index > 0)
+                {
+                    return new Tuple<string, int>(searchInput, 2);
+                }
             }
 
             var items = GetWords(input);
@@ -266,15 +272,20 @@ namespace MediaBrowser.Server.Implementations.Library
                         return new Tuple<string, int>(searchTerm, 3 + (i + 1) * (j + 1));
                     }
 
-                    index = item.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase);
+                    match = Regex.Match(item, searchTerm, RegexOptions.IgnoreCase);
 
-                    if (index == 0)
+                    if (match.Success)
                     {
-                        return new Tuple<string, int>(searchTerm, 4 + (i + 1) * (j + 1));
-                    }
-                    if (index > 0)
-                    {
-                        return new Tuple<string, int>(searchTerm, 5 + (i + 1) * (j + 1));
+                        var index = match.Index;
+
+                        if (index == 0)
+                        {
+                            return new Tuple<string, int>(searchTerm, 4 + (i + 1) * (j + 1));
+                        }
+                        if (index > 0)
+                        {
+                            return new Tuple<string, int>(searchTerm, 5 + (i + 1) * (j + 1));
+                        }
                     }
                 }
             }

+ 1 - 1
MediaBrowser.Server.Implementations/MediaEncoder/MediaEncoder.cs

@@ -645,7 +645,7 @@ namespace MediaBrowser.Server.Implementations.MediaEncoder
                     }
                     catch (IOException ex)
                     {
-                        _logger.ErrorException("Error converted extracted subtitle {0}", ex, outputPath);
+                        _logger.ErrorException("Error deleting converted subtitle {0}", ex, outputPath);
                     }
                 }
             }