public IPageOfItems <ISearchResult> GetSearchResults(int pageIndex, int pageSize, SearchCriteria criteria) { CriteriaCollection criteriaCollection = new CriteriaCollection(); criteriaCollection.Items.Add(new SearchTerm() { Term = criteria.Term }); string apiKey = appSettings.GetString("BingAPIKey"); string hostsToInclude = appSettings.GetString("BingSearchHosts", "microsoftpdc.com"); string hostsNotToInclude = appSettings.GetString("BingExcludeSearchHosts", "commnet.microsoftpdc.com,www.microsoftpdc.com,sessions.microsoftpdc.com,microsoftpdc.com/Sessions/Tags/"); string[] hostsYes = hostsToInclude.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); string[] hostsNo = hostsNotToInclude.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); DateTime minDate = DateTime.Parse(appSettings.GetString("BingMinDate")); foreach (string s in hostsYes) { criteriaCollection.Items.Add(new SiteRestriction() { Site = s }); } foreach (string s in hostsNo) { criteriaCollection.Items.Add(new SiteRestriction() { Site = s, Not = true }); } criteriaCollection.Items.Add(new SearchTag() { ExactMatch = false, Not = true, TagName = "PageType", Value = "List" }); return(SearchProvider.Search(criteriaCollection, minDate, pageSize, pageIndex, apiKey)); }
public IPageOfItems <ISearchResult> GetSearchResults(PagingInfo pagingInfo, SearchCriteria criteria) { CriteriaCollection criteriaCollection = new CriteriaCollection(); criteriaCollection.Items.Add(new SearchTerm() { Term = criteria.Term }); //TODO: (erikpo) The following hardcoded values need to be moved to somewhere more generic like module settings criteriaCollection.Items.Add(new SiteRestriction() { Site = "microsoftpdc.com" }); criteriaCollection.Items.Add(new SiteRestriction() { Site = "commnet.microsoftpdc.com", Not = true }); criteriaCollection.Items.Add(new SiteRestriction() { Site = "sessions.microsoftpdc.com", Not = true }); return(SearchProvider.Search(criteriaCollection, pagingInfo, appSettings.GetString("BingAPIKey"))); }