private List <NewsModel> GetSearchResult(out int MatchCount, out int PageCount) { SearchInfo InputInfo = new SearchInfo() { ConfigElement = Config.Searches["news"], PageIndex = PageIndex, PageSize = PageSize, QueryString = SearchWord }; Searcher s = new NewsSearcher(InputInfo); List <ISearchEntity> RawResult = s.GetSearchResult(out MatchCount); //在这里排序 List <NewsModel> SearchResult = new List <NewsModel>(); int PageLowerBound = (InputInfo.PageIndex - 1) * PageSize; int PageUpperBound = PageLowerBound + PageSize; PageCount = (int)(MatchCount / PageSize) + 1; for (int i = 0; i < RawResult.Count; i++) { if (i > PageLowerBound && i <= PageUpperBound) { SearchResult.Add((NewsModel)RawResult[i]); } } return(SearchResult); }
public ActionResult TestSearch() { var seg = new JiebaSegmenter(); seg.AddWord("机器学习"); NewsSearcher.ClearLuceneIndex(); var data = NewsRepository.GetAll(); NewsSearcher.UpdateLuceneIndex(data); var results = NewsSearcher.Search("方法研究"); return(View(results)); }