public ActionResult Edit(SampleData data) { if (data.Id == 0) { ViewData["msg"] = "Id不能为空"; } else if (string.IsNullOrEmpty(data.Name)) { ViewData["msg"] = "Name不能为空"; } else if (string.IsNullOrEmpty(data.Description)) { ViewData["msg"] = "Description不能为空"; } else { if (GoLucene.Search(data.Id.ToString(), "Id").Any()) { ViewData["msg"] = "Id已存在"; } else { IndexQueue.GetInstance().AddQueue(new Data { SampleData = data, OptionType = IndexOptionType.Add }); } } return(View()); }
/// <summary> /// Updates the entire index (Could be slow depending on size) /// </summary> public void UpdateIndex() { var allPosts = _postRepository.GetAllWithTopics().ToList(); var mappedPosts = allPosts.Select(MapToModel); GoLucene.AddUpdateLuceneIndex(mappedPosts); }
public ActionResult Delete(int id) { if (id > 0) { var record = GoLucene.SearchDefault(id.ToString(), "Id").FirstOrDefault(); GoLucene.ClearLuceneIndexRecord(id); } return(View()); }
/// <summary> /// Tìm kiếm từ database /// </summary> /// <param name="fcSearch"></param> /// <returns></returns> /// //[Route("ket-qua-tim-kiem")] //public ActionResult Search(FormCollection fcSearch) //{ // string name = fcSearch["txtSearch"]; // if (name != null && name != "") // { // var model = articlesService.Search(name); // var apiModel = ArticleViewModels.MapFromBOs(model); // return View("Search", apiModel); // } // else // { // var model = articlesService.GetData(); // var apiModel = ArticleViewModels.MapFromBOs(model); // return View("Search", apiModel); // } //} public ActionResult ViewSearch(string searchTerm, string searchField, bool?searchDefault, int?limit) { // create default Lucene search index directory if (!Directory.Exists(GoLucene._lucaenDirFontEnd)) { Directory.CreateDirectory(GoLucene._lucaenDirFontEnd); } // perform Lucene search List <LuceneData_BO> _searchResults; // var _searchResults = LuceneViewModels.MapFromBOs(GoLucene.GetAll()); if (searchDefault == true) { _searchResults = (string.IsNullOrEmpty(searchField) ? GoLucene.SearchDefaultFrontEnd(searchTerm) : GoLucene.SearchDefaultFrontEnd(searchTerm, searchField)).ToList(); } else { _searchResults = (string.IsNullOrEmpty(searchField) ? GoLucene.SearchFrontEnd(searchTerm) : GoLucene.SearchFrontEnd(searchTerm, searchField)).ToList(); } if (string.IsNullOrEmpty(searchTerm) && !_searchResults.Any()) { _searchResults = GoLucene.GetAllIndexRecordsFrontEnd().ToList(); } //// setup and return view model //var search_field_list = new // List<SelectedList> { // new SelectedList {Text = "(All Fields)", Value = ""}, // new SelectedList {Text = "Id", Value = "Id"}, // new SelectedList {Text = "Name", Value = "Name"}, // new SelectedList {Text = "Description", Value = "Description"} // }; //// limit display number of database records //var limitDb = limit == null ? 3 : Convert.ToInt32(limit); //List<LuceneData> allLuceneData; //if (limitDb > 0) //{ // allSampleData = SampleDataRepository.GetAll().ToList().Take(limitDb).ToList(); // ViewBag.Limit = SampleDataRepository.GetAll().Count - limitDb; //} //else allSampleData = SampleDataRepository.GetAll(); return(View(new LuceneViewModels { // AllLuceneData = allLuceneData, SearchIndexData = _searchResults, //LuceneData = new SampleData { Id = 9, Name = "El-Paso", Description = "City in Texas" }, // SearchFieldList = search_field_list, })); }
public ActionResult ClearIndex() { if (GoLucene.ClearLuceneIndex()) { TempData["Result"] = "Search index was cleared successfully!"; } else { TempData["ResultFail"] = "Index is locked and cannot be cleared, try again later or clear manually!"; } return(RedirectToAction("Index")); }
private void clearIndex() { if (GoLucene.ClearLuceneIndex()) { litResult.Text = "Search index was cleared successfully!"; } else { litResult.Text = "Index is locked and cannot be cleared, try again later or clear manually!"; } bindData(); }
private DefaultViewModel getDefaultViewModel(string searchTerm, string searchField, string type = "") { // create default Lucene search index directory if (!Directory.Exists(GoLucene._luceneDir)) { Directory.CreateDirectory(GoLucene._luceneDir); } // perform Lucene search IEnumerable <SampleData> searchResults = new List <SampleData>(); if (string.IsNullOrEmpty(type)) { searchResults = string.IsNullOrEmpty(searchField) ? GoLucene.Search(searchTerm) : GoLucene.Search(searchTerm, searchField); } else if (type == "default") { searchResults = string.IsNullOrEmpty(searchField) ? GoLucene.SearchDefault(searchTerm) : GoLucene.SearchDefault(searchTerm, searchField); } // setup and return view model var search_field_list = new List <SelectedList> { new SelectedList { Text = "(All Fields)", Value = "" }, new SelectedList { Text = "Id", Value = "Id" }, new SelectedList { Text = "Name", Value = "Name" }, new SelectedList { Text = "Description", Value = "Description" } }; return(new DefaultViewModel { AllSampleData = SampleDataRepository.GetAll(), AllSearchIndexData = GoLucene.GetAllIndexRecords(), SampleData = new SampleData { Id = 9, Name = "El-Paso", Description = "City in Texas" }, SampleSearchResults = searchResults, SearchFieldList = search_field_list, }); }
public ActionResult Index(string key) { if (!string.IsNullOrEmpty(key)) { GoLucene.AddWords(key); var results = GoLucene.Search(key); ViewData["str"] = GoLucene.GetSegmenter().CutForSearch(key).Join("/"); ViewData["result"] = results; } else { ViewData["str"] = "请输入"; } return(View()); }
public ActionResult BuiltOnDemandDMSAdd(ArticleViewModels article) { if (ModelState.IsValid) { try { LuceneViewModels luceneViewModels = new LuceneViewModels(); luceneViewModels.Id = article.Id; luceneViewModels.Title = article.TitleVN; luceneViewModels.Url = article.UrlVN.Replace("-", " ").Trim(); luceneViewModels.Description = article.MetaDescriptionVN; luceneViewModels.AvatarUrl = article.ImageAvatarVN; var lucene = luceneViewModels.MapToBO(); var bo = article.MapToBO(); if (article.Id > 0) { articlesService.UpdateItem(bo); GoLucene.AddUpdateLuceneIndex(lucene); } else { articlesService.AddItem(bo); GoLucene.AddUpdateLuceneIndex(lucene); } } catch (Exception e) { ViewData["EditError"] = e.Message; } } else { ViewData["EditError"] = "Please, correct all errors."; } return(RedirectToAction("BuiltOnDemandDMS")); }
private void addToIndex(SampleData sampleData) { GoLucene.AddUpdateLuceneIndex(sampleData); litResult.Text = "Record was added to search index successfully!"; bindData(); }
/// <summary> /// Optimise the index /// </summary> public void OptimiseIndex() { GoLucene.Optimize(); }
/// <summary> /// Delete an item from the index /// </summary> /// <param name="id"></param> public void Delete(Guid id) { GoLucene.ClearLuceneIndexRecord(id); }
private void optimizeIndex() { GoLucene.Optimize(); litResult.Text = "Search index was optimized successfully!"; bindData(); }
public ActionResult CreateIndex() { GoLucene.AddUpdateLuceneIndex(SampleDataRepository.GetAll()); TempData["Result"] = "Search index was created successfully!"; return(RedirectToAction("Index")); }
public ActionResult Index (string searchTerm, string searchField, bool?searchDefault, int?limit) { // create default Lucene search index directory if (!Directory.Exists(GoLucene._luceneDir)) { Directory.CreateDirectory(GoLucene._luceneDir); } // perform Lucene search List <SampleData> _searchResults; if (searchDefault == true) { _searchResults = (string.IsNullOrEmpty(searchField) ? GoLucene.SearchDefault(searchTerm) : GoLucene.SearchDefault(searchTerm, searchField)).ToList(); } else { _searchResults = (string.IsNullOrEmpty(searchField) ? GoLucene.Search(searchTerm) : GoLucene.Search(searchTerm, searchField)).ToList(); } if (string.IsNullOrEmpty(searchTerm) && !_searchResults.Any()) { _searchResults = GoLucene.GetAllIndexRecords().ToList(); } // setup and return view model var search_field_list = new List <SelectedList> { new SelectedList { Text = "(All Fields)", Value = "" }, new SelectedList { Text = "Id", Value = "Id" }, new SelectedList { Text = "Name", Value = "Name" }, new SelectedList { Text = "Description", Value = "Description" } }; // limit display number of database records var limitDb = limit == null ? 3 : Convert.ToInt32(limit); List <SampleData> allSampleData; if (limitDb > 0) { allSampleData = SampleDataRepository.GetAll().ToList().Take(limitDb).ToList(); ViewBag.Limit = SampleDataRepository.GetAll().Count - limitDb; } else { allSampleData = SampleDataRepository.GetAll(); } return(View(new IndexViewModel { AllSampleData = allSampleData, SearchIndexData = _searchResults, SampleData = new SampleData { Id = 9, Name = "El-Paso", Description = "City in Texas" }, SearchFieldList = search_field_list, })); }
public PagedList <LuceneSearchModel> Search(string searchTerm, int pageIndex, int pageSize, bool doFuzzySearch = false) { return(GoLucene.Search(searchTerm, pageIndex, pageSize, doFuzzySearch)); }
/// <summary> /// Get all records from the index /// </summary> /// <returns></returns> public IEnumerable <LuceneSearchModel> GetAll() { return(GoLucene.GetAllIndexRecords()); }
/// <summary> /// Search the index by search term /// </summary> /// <param name="searchTerm"></param> /// <param name="doFuzzySearch"></param> /// <returns></returns> public IEnumerable <LuceneSearchModel> Search(string searchTerm, bool doFuzzySearch = false) { return(GoLucene.Search(searchTerm, string.Empty, doFuzzySearch)); }
public IEnumerable <LuceneSearchModel> Search(string searchTerm, string fieldName, int amountToTake, bool doFuzzySearch = false) { return(GoLucene.Search(searchTerm, amountToTake, fieldName, doFuzzySearch)); }
private void createIndex() { GoLucene.AddUpdateLuceneIndex(SampleDataRepository.GetAll()); litResult.Text = "Search index was created successfully!"; bindData(); }
public ActionResult ClearIndexRecord(int id) { GoLucene.ClearLuceneIndexRecord(id); TempData["Result"] = "Search index record was deleted successfully!"; return(RedirectToAction("Index")); }
private void clearIndexRecord(int id) { GoLucene.ClearLuceneIndexRecord(id); litResult.Text = "Search index record was deleted successfully!"; bindData(); }
public ActionResult OptimizeIndex() { GoLucene.Optimize(); TempData["Result"] = "Search index was optimized successfully!"; return(RedirectToAction("Index")); }
/// <summary> /// Add / Update an item in the index /// </summary> /// <param name="luceneSearchModel"></param> public void AddUpdate(LuceneSearchModel luceneSearchModel) { GoLucene.AddUpdateLuceneIndex(luceneSearchModel); }
public ActionResult AddToIndex(SampleData sampleData) { GoLucene.AddUpdateLuceneIndex(sampleData); TempData["Result"] = "Record was added to search index successfully!"; return(RedirectToAction("Index")); }
/// <summary> /// Delete the entire index /// </summary> public void DeleteEntireIndex() { GoLucene.ClearLuceneIndex(); }