Пример #1
0
        private void DoSearch(SearchQuery query, int currentPage)
        {
            LuceneSearcher searcher = new LuceneSearcher(query);

            var docs = searcher.DoSearch(10, currentPage);

            pager.InnerHtml = searcher.Pager;

            lvSearchResults.DataSource = docs;
            lvSearchResults.DataBind();
        }
Пример #2
0
        protected void btnSearch_Click(object sender, ImageClickEventArgs e)
        {
            if (txtSearchQuery.Text.Trim().Length > 0)
            {
                HiddenField hf = cphMain.FindControl("txtActualFilter") as HiddenField;

                if (hf != null)
                {
                    var docs = hf.Value.Split('|');

                    if (docs.Length > 0)
                    {

                        List<string> f = new List<string>();

                        for (int i = 0; i < docs.Length; i++)
                            f.Add(docs[i]);

                        if (docs.Length == 1 && docs[0].Length == 0)
                            f = null;

                        Session["query"] = new SearchQuery { Filters = f, Query = txtSearchQuery.Text };
                    }
                    else
                    {
                        Session["query"] = new SearchQuery { Filters = null, Query = txtSearchQuery.Text };
                    }
                }

                var query = Session["query"] as SearchQuery;
                query.Query = txtSearchQuery.Text;

                Response.Redirect("Results.aspx");

            }
        }
Пример #3
0
 public LuceneSearcher(SearchQuery searchQuery,Directory directory)
 {
     this.searchQuery = searchQuery;
     searchQuery.Searcher = new IndexSearcher(directory);
 }
Пример #4
0
 public LuceneSearcher(SearchQuery searchQuery)
     : this(searchQuery, FSDirectory.GetDirectory(HttpContext.Current.Server.MapPath("~/LuceneIndex")))
 {
 }