internal static ActionResult UpdateBasicSearchSettings(UpdateBasicSearchSettingsRequest request) { ActionResult actionResult = new ActionResult(); try { if (request.MinWordLength == Null.NullInteger || request.MinWordLength == 0) { actionResult.AddError("valIndexWordMinLengthRequired.Error", Localization.GetString("valIndexWordMinLengthRequired.Error", Constants.LocalResourcesFile)); } else if (request.MaxWordLength == Null.NullInteger || request.MaxWordLength == 0) { actionResult.AddError("valIndexWordMaxLengthRequired.Error", Localization.GetString("valIndexWordMaxLengthRequired.Error", Constants.LocalResourcesFile)); } else if (request.MinWordLength >= request.MaxWordLength) { actionResult.AddError("valIndexWordMaxLengthRequired.Error", Localization.GetString("valIndexWordMaxLengthRequired.Error", Constants.LocalResourcesFile)); } if (actionResult.IsSuccess) { int oldMinLength = HostController.Instance.GetInteger("Search_MinKeyWordLength", 3); if (request.MinWordLength != oldMinLength) { HostController.Instance.Update("Search_MinKeyWordLength", request.MinWordLength.ToString()); } int oldMaxLength = HostController.Instance.GetInteger("Search_MaxKeyWordLength", 255); if (request.MaxWordLength != oldMaxLength) { HostController.Instance.Update("Search_MaxKeyWordLength", request.MaxWordLength.ToString()); } HostController.Instance.Update("Search_AllowLeadingWildcard", request.AllowLeadingWildcard ? "Y" : "N"); HostController.Instance.Update(SearchTitleBoostSetting, (request.TitleBoost == Null.NullInteger) ? DefaultSearchTitleBoost.ToString() : request.TitleBoost.ToString()); HostController.Instance.Update(SearchTagBoostSetting, (request.TagBoost == Null.NullInteger) ? DefaultSearchTagBoost.ToString() : request.TagBoost.ToString()); HostController.Instance.Update(SearchContentBoostSetting, (request.ContentBoost == Null.NullInteger) ? DefaultSearchContentBoost.ToString() : request.ContentBoost.ToString()); HostController.Instance.Update(SearchDescriptionBoostSetting, (request.DescriptionBoost == Null.NullInteger) ? DefaultSearchDescriptionBoost.ToString() : request.DescriptionBoost.ToString()); HostController.Instance.Update(SearchAuthorBoostSetting, (request.AuthorBoost == Null.NullInteger) ? DefaultSearchAuthorBoost.ToString() : request.AuthorBoost.ToString()); string oldAnalyzer = HostController.Instance.GetString("Search_CustomAnalyzer", string.Empty); string newAnalyzer = request.SearchCustomAnalyzer.Trim(); if (!oldAnalyzer.Equals(newAnalyzer)) { HostController.Instance.Update("Search_CustomAnalyzer", newAnalyzer); //force the app restart to use new analyzer. Config.Touch(); } } } catch (Exception ex) { actionResult.AddError("HttpStatusCode.InternalServerError", ex.Message); } return(actionResult); }
private ActionResult UpdateSearch(dynamic updatedata) { ActionResult actionResult = new ActionResult(); Dictionary <string, dynamic> ReponseData = new Dictionary <string, dynamic>(); try { UpdateBasicSearchSettingsRequest BasicSettings = updatedata["BasicSettings"].ToObject <UpdateBasicSearchSettingsRequest>(); UpdateIgnoreWordsRequest IgnoreWord = updatedata["IgnoreWord"].ToObject <UpdateIgnoreWordsRequest>(); List <SynonymsGroup> AllSynonymsGroups = updatedata["AllSynonymsGroups"].ToObject <List <SynonymsGroup> >(); ActionResult ActionResult_IgnoreWord = new ActionResult(); ActionResult ActionResult_BasicSettings = new ActionResult(); ActionResult ActionResult_SynonymsGroups = new ActionResult(); if (UserInfo.IsSuperUser) { ActionResult_BasicSettings = UpdateBasicSearchSettings(BasicSettings); if (!ActionResult_BasicSettings.IsSuccess) { return(ActionResult_BasicSettings); } else { ReponseData.Add("ActionResult_BasicSettings", ActionResult_BasicSettings.Data); } } ActionResult_IgnoreWord = Managers.SearchManager.AddIgnoreWords(IgnoreWord); if (!ActionResult_IgnoreWord.IsSuccess) { return(ActionResult_IgnoreWord); } else { ReponseData.Add("ActionResult_IgnoreWord", ActionResult_IgnoreWord.Data); } ActionResult_SynonymsGroups = UpdateSynonymsGroup(AllSynonymsGroups); if (!ActionResult_SynonymsGroups.IsSuccess) { return(ActionResult_SynonymsGroups); } else { ReponseData.Add("ActionResult_SynonymsGroups", ActionResult_SynonymsGroups.Data); } actionResult.Data = ReponseData; } catch (Exception exc) { actionResult.AddError("HttpStatusCode.InternalServerError", exc.Message); } return(actionResult); }
public ActionResult UpdateBasicSearchSettings(UpdateBasicSearchSettingsRequest request) { return(Managers.SearchManager.UpdateBasicSearchSettings(request)); }