From 3408b4637c0458d1829bed1b2f7b572b1ded79ff Mon Sep 17 00:00:00 2001 From: Robert McRackan Date: Wed, 25 May 2022 12:49:24 -0400 Subject: [PATCH] search engine cleanup --- Source/LibationSearchEngine/SearchEngine.cs | 29 ++++++--------------- 1 file changed, 8 insertions(+), 21 deletions(-) diff --git a/Source/LibationSearchEngine/SearchEngine.cs b/Source/LibationSearchEngine/SearchEngine.cs index bcef08c2..5af93080 100644 --- a/Source/LibationSearchEngine/SearchEngine.cs +++ b/Source/LibationSearchEngine/SearchEngine.cs @@ -18,18 +18,11 @@ namespace LibationSearchEngine { public const Lucene.Net.Util.Version Version = Lucene.Net.Util.Version.LUCENE_30; - // not customizable. don't move to config - private static string SearchEngineDirectory { get; } - = new System.IO.DirectoryInfo(Configuration.Instance.LibationFiles).CreateSubdirectory("SearchEngine").FullName; - public const string _ID_ = "_ID_"; public const string TAGS = "tags"; // special field for each book which includes all major parts of the book's metadata. enables non-targetting searching public const string ALL = "all"; - // the workaround which allows displaying all books when query is empty - public const string ALL_QUERY = "*:*"; - #region index rules // common fields used in the "all" default search field public const string ALL_AUDIBLE_PRODUCT_ID = nameof(Book.AudibleProductId); @@ -124,7 +117,6 @@ namespace LibationSearchEngine [nameof(Book.IsAbridged)] = lb => lb.Book.IsAbridged, ["Abridged"] = lb => lb.Book.IsAbridged, - // this will only be evaluated at time of re-index. ie: state of files moved later will be out of sync until next re-index ["IsLiberated"] = lb => isLiberated(lb.Book), ["Liberated"] = lb => isLiberated(lb.Book), ["LiberatedError"] = lb => liberatedError(lb.Book), @@ -184,18 +176,6 @@ namespace LibationSearchEngine foreach (var key in numberIndexRules.Keys) yield return key; } - - public static IEnumerable GetSearchFields() - { - foreach (var key in idIndexRules.Keys) - yield return key; - foreach (var key in stringIndexRules.Keys) - yield return key; - foreach (var key in boolIndexRules.Keys) - yield return key; - foreach (var key in numberIndexRules.Keys) - yield return key; - } #endregion #region create and update index @@ -333,6 +313,9 @@ namespace LibationSearchEngine } #endregion + // the workaround which allows displaying all books when query is empty + public const string ALL_QUERY = "*:*"; + #region search public SearchResultSet Search(string searchString) { @@ -347,7 +330,7 @@ namespace LibationSearchEngine return results; } - public static string FormatSearchQuery(string searchString) + internal static string FormatSearchQuery(string searchString) { if (string.IsNullOrWhiteSpace(searchString)) return ALL_QUERY; @@ -493,5 +476,9 @@ namespace LibationSearchEngine #endregion private static Directory getIndex() => FSDirectory.Open(SearchEngineDirectory); + + // not customizable. don't move to config + private static string SearchEngineDirectory { get; } + = new System.IO.DirectoryInfo(Configuration.Instance.LibationFiles).CreateSubdirectory("SearchEngine").FullName; } }