public async Task <IActionResult> Search(string keywords, int page = 1) { int count = 0; int pageSize = 4; List <Article> list = null; List <Article> recommendList = null; //recommendList = _articleBusiness.GetIQueryableList(m => m.PageView > 50).Take(10).OrderByDescending(m=>m.CreateTime).ToList(); recommendList = await _articleBusiness.GetListAsync(m => m.PageView > 50, 10, m => m.CreateTime, false); if (!string.IsNullOrWhiteSpace(keywords)) { List <int> ids = LuceneIndexHelper.Search(keywords, page, pageSize, out count); List <string> fields = new List <string>() { "Id", "Title", "Summary", "Cover" }; list = _articleBusiness.GetDataListByIds(fields, "id", ids); } ViewBag.Keywords = keywords; ViewBag.RecommendList = recommendList; ViewBag.Count = count; ViewBag.PageIndex = page; ViewBag.TotalPage = (int)Math.Ceiling(count / (decimal)pageSize); return(View(list)); }