protected override void OnLoad(EventArgs e) { base.OnLoad(e); if (!Page.IsPostBack) { string query = Request.QueryString["q"]; if (!string.IsNullOrEmpty(query)) { QueryExpressionFactory factory = new QueryExpressionFactory(); factory.DefaultOperator = '&'; factory.SplitQueryCharacters = DaveSexton.DocProject.DocSites.DocSiteSearch.DefaultSearchProvider.SplitQueryCharacters; factory.IgnoredWords = DocSiteManager.Settings.SearchExcludedKeywords.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); factory.MinimumKeywordLength = DocSiteManager.Settings.SearchMinimumKeywordLength; factory.Optimize = false; QueryExpression expression = factory.CreateExpression(query); if (!(expression is EmptyQueryExpression)) { expression.Evaluate(delegate(QueryExpression expr) { TermQueryExpression term = expr as TermQueryExpression; if (term != null && !Keywords.Contains(term.Term)) { Keywords.Add(term.Term); } }); } // The index must always be created when a query is specified otherwise it will be generated // automatically _after_ the keywords are rendered, which means they'll all appear in "red". DaveSexton.DocProject.DocSites.DocSiteSearch.EnsureIndex(); keywordsListPanel.Visible = false; KeywordFirstLetter = null; } } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); if(!Page.IsPostBack) { string query = Request.QueryString["q"]; if(!string.IsNullOrEmpty(query)) { QueryExpressionFactory factory = new QueryExpressionFactory(); factory.DefaultOperator = '&'; factory.SplitQueryCharacters = DaveSexton.DocProject.DocSites.DocSiteSearch.DefaultSearchProvider.SplitQueryCharacters; factory.IgnoredWords = DocSiteManager.Settings.SearchExcludedKeywords.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); factory.MinimumKeywordLength = DocSiteManager.Settings.SearchMinimumKeywordLength; factory.Optimize = false; QueryExpression expression = factory.CreateExpression(query); if(!(expression is EmptyQueryExpression)) { expression.Evaluate(delegate(QueryExpression expr) { TermQueryExpression term = expr as TermQueryExpression; if(term != null && !Keywords.Contains(term.Term)) Keywords.Add(term.Term); }); } // The index must always be created when a query is specified otherwise it will be generated // automatically _after_ the keywords are rendered, which means they'll all appear in "red". DaveSexton.DocProject.DocSites.DocSiteSearch.EnsureIndex(); keywordsListPanel.Visible = false; KeywordFirstLetter = null; } } }