Beispiel #1
0
        public ActionResult Index(string searchTerm, int?page)
        {
            var vm = new LuceneListVM()
            {
                SearchTerm = searchTerm,
                PageIndex  = (page ?? 1) - 1,
                PageSize   = SettingsManager.Lucene.PageSize
            };

            // create default Lucene search index directory
            if (!Directory.Exists(LuceneHelper._luceneDir))
            {
                Directory.CreateDirectory(LuceneHelper._luceneDir);
            }

            int totalCount = 0;
            // perform Lucene search
            List <SearchData> _searchResults = LuceneHelper.SearchDefault(vm.PageIndex, vm.PageSize, out totalCount, searchTerm).ToList();


            // setup and return view model
            var search_field_list = new
                                    List <SelectedList> {
                new SelectedList {
                    Text = "--所有字段--", Value = ""
                },
                new SelectedList {
                    Text = "标题", Value = "Name"
                },
                new SelectedList {
                    Text = "网址", Value = "Name"
                },
                new SelectedList {
                    Text = "内容", Value = "Description"
                }
            };


            vm.TotalCount      = totalCount;
            vm.SearchIndexData = new StaticPagedList <SearchData>(_searchResults, vm.PageIndex + 1, vm.PageSize, vm.TotalCount);;
            vm.SearchFieldList = search_field_list;

            ViewBag.PageSizes = new SelectList(Site.PageSizes());

            return(View(vm));
        }