/// <summary> /// 搜索 /// </summary> /// <remarks>搜索结果不缓存</remarks> /// <param name="searchKey"></param> /// <param name="searchType"></param> /// <param name="pageIndex"></param> /// <returns></returns> public async Task <List <Essay> > SearchByKey(string searchKey, SearchTypeEnum searchType, int pageIndex) { ResultDataTemplate <List <Essay> > essayResult = new ResultDataTemplate <List <Essay> >(); if (!ConnectionHelper.IsInternetAvailable) //无网络 { } else { PostDataTemplate <SearchRequest> postData = new PostDataTemplate <SearchRequest>() { request = new SearchRequest() { elementsCountPerPage = "20", pageIndex = pageIndex, searchKey = searchKey, searchType = searchType.ToString() } }; essayResult = await PostJson <PostDataTemplate <SearchRequest>, ResultDataTemplate <List <Essay> > >(ServiceUri.Search, postData); } return(essayResult?.Result); }
private void SearchRadioIRButton_Click(object sender, EventArgs e) { RigSearchResultsListView.Items.Clear(); RigSearchResultsListView.View = View.Details; searchType = SearchTypeEnum.IR; UpdateRigSearchResultsListView(); }
public SearchContext(SearchTypeEnum searchType, string query, int page, int count) { SearchType = searchType; Query = query; Page = page; Count = count; }
public SearchContext(ProviderEnum provider, SearchTypeEnum searchType, string query, int page, int count) { Provider = provider; SearchType = searchType; Query = query; Page = page; Count = count; }
public async Task <List <JSON_FileMetadata> > SearchFiles(string SearchKeyword, SearchTypeEnum SearchType) { using (HtpClient localHttpClient = new HtpClient(new HCHandler())) { using (HttpResponseMessage response = await localHttpClient.GetAsync(new pUri("file/listing", new AuthDictionary())).ConfigureAwait(false)) { string result = await response.Content.ReadAsStringAsync(); if (JObject.Parse(result).SelectToken("status").ToString() == "OK") { if (JObject.Parse(result).SelectToken("data").ToString() == "[]") { return(new List <JSON_FileMetadata>()); } else { var nfo = JsonConvert.DeserializeObject <JSON_ListFiles>(result, JSONhandler); List <JSON_FileMetadata> lst = new List <JSON_FileMetadata>(); switch (SearchType) { case SearchTypeEnum.Contains: foreach (var onz in nfo.FilesList) { if (onz.Value.filename.ToLower().Contains(SearchKeyword.ToLower())) { lst.Add(onz.Value); } } break; case SearchTypeEnum.Exact: foreach (var onz in nfo.FilesList) { if (onz.Value.filename.ToLower() == (SearchKeyword.ToLower())) { lst.Add(onz.Value); } } break; case SearchTypeEnum.StartWith: foreach (var onz in nfo.FilesList) { if (onz.Value.filename.ToLower().StartsWith(SearchKeyword.ToLower())) { lst.Add(onz.Value); } } break; case SearchTypeEnum.EndWith: foreach (var onz in nfo.FilesList) { if (onz.Value.filename.ToLower().EndsWith(SearchKeyword.ToLower())) { lst.Add(onz.Value); } } break; case SearchTypeEnum.Ext: foreach (var onz in nfo.FilesList) { if (System.IO.Path.GetExtension(onz.Value.filename).Trim('.') == (SearchKeyword).Trim('.')) { lst.Add(onz.Value); } } break; } return(lst); } } else { throw ShowError(result); } } } }
private static bool IsTypeIncluded(IList <int> includedSearchTypes, SearchTypeEnum type) { return(includedSearchTypes == null || includedSearchTypes.Count == 0 || includedSearchTypes.Contains((int)type)); }
public SearchTypeSelectedEventArgs(SearchTypeEnum searchType) { SearchType = searchType; }
void doit(SearchTypeEnum searchType) { if (_isRunning) { Invokers.SetAppendText(textBox1, true, 100, "Already running!"); return; } _isRunning = true; try { string twitterUsername = Common.GetRegistryEntry(Constants.RegistryKeys.TwitterScreenName, string.Empty); if (twitterUsername == string.Empty) { Invokers.SetAppendText(textBox1, true, 100, "Twitter Username must not be blank"); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterScreenName", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterMessage", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterSuccess", false); return; } if (!twitterUsername.StartsWith("@")) { twitterUsername = "******" + twitterUsername; } Invokers.SetAppendText(textBox1, true, 100, "Polling {0}", twitterUsername); OAuthTokens token = new OAuthTokens { AccessToken = Common.GetRegistryEntry(Constants.RegistryKeys.TwitterAccessToken, string.Empty), AccessTokenSecret = Common.GetRegistryEntry(Constants.RegistryKeys.TwitterAccessTokenSecret, string.Empty), ConsumerKey = Constants.TwitterConsumerKey, ConsumerSecret = Constants.TwitterConsumerSecret }; TwitterResponse <TwitterStatusCollection> timeline; if (searchType == SearchTypeEnum.Tweets) { timeline = TwitterTimeline.UserTimeline(token, new UserTimelineOptions { Count = 10, ScreenName = twitterUsername, IncludeRetweets = false }); } else { timeline = TwitterTimeline.Mentions(token, new TimelineOptions() { Count = 10, IncludeRetweets = false }); } if (timeline.Result != RequestResult.Success) { Invokers.SetAppendText(textBox1, true, 100, timeline.ErrorMessage); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterScreenName", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterMessage", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterSuccess", false); return; } for (int i = 0; i < timeline.ResponseObject.Count; i++) { TwitterStatus message = timeline.ResponseObject[i]; if (searchType == SearchTypeEnum.Tweets) { if (message.CreatedDate <= _lastTweetDateTime) { EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterScreenName", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterMessage", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterSuccess", false); continue; } _lastTweetDateTime = message.CreatedDate; } else { if (message.CreatedDate <= _lastMentionDateTime) { EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterScreenName", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterMessage", string.Empty); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterSuccess", false); continue; } _lastMentionDateTime = message.CreatedDate; } // remove the tagged twitter name from the message string messageText = Regex.Replace(message.Text, twitterUsername, string.Empty, RegexOptions.IgnoreCase); // remove double spaces while (messageText.Contains(" ")) { messageText = messageText.Replace(" ", " "); } // remove start and ending white spaces messageText = messageText.Trim(); Invokers.SetAppendText(textBox1, true, 100, "{0} - {1}", message.User.ScreenName, messageText); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterScreenName", message.User.ScreenName); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterMessage", messageText); EZ_Builder.Scripting.VariableManager.SetVariable("$TwitterSuccess", true); return; } } catch (Exception ex) { Invokers.SetAppendText(textBox1, true, 100, "Error: {0}", ex.Message); } finally { Invokers.SetAppendText(textBox1, true, 100, "Done"); _isRunning = false; } }
public SearchCommand(SearchTypeEnum searchType, string query, int page, int count) { this.searchContext = new SearchContext(searchType, query, page, count); }
public static SearchResultList ReadSearchResultList(SearchTypeEnum searchType, string query, int page) { string cacheName = "search-" + searchType + "-" + query + "-" + page; return (SearchResultList) CacheService.Read(cacheName); }
public static void CacheSearchResultList(SearchTypeEnum searchType, string query, int page, SearchResultList searchResultList) { string cacheName = "search-" + searchType + "-" + query + "-" + page; int cacheExpiration = ConfigService.GetConfig(ConfigKeys.THEINTERNETBUZZ_SEARCH_EXPIRATION, 60); CacheService.Put(cacheName, cacheExpiration, searchResultList); }
public SearchByAnotherTypeMenuItem(string textResourceKey, SearchTypeEnum searchType) { TextResourceKey = textResourceKey; SearchType = searchType; }
public IEnumerable <T> Search <T>(int pageIndex, int pageSize, List <string> fieldsForKeyword, string keyword, string field, DateTime from, DateTime to, string indexName, string typeName, out long total, SearchTypeEnum searchType = SearchTypeEnum.IsExtract) where T : class { total = 0; if (!string.IsNullOrEmpty(indexName)) { indexName = indexName.ToLower(); } if (!string.IsNullOrEmpty(typeName)) { typeName = typeName.ToLower(); } if (!string.IsNullOrEmpty(field)) { field = Char.ToLowerInvariant(field[0]) + field.Substring(1); } var dateRange = new DateRangeQuery() { Field = field }; if (from > DateTime.MinValue) { dateRange.GreaterThanOrEqualTo = from.ToString(FormatDate); } if (to > from) { dateRange.LessThanOrEqualTo = to.ToString(FormatDate); } var indices = Indices.Index(indexName); var types = Types.Type(typeName); var request = new SearchRequest(indices, types) { From = pageIndex, Size = pageSize, PostFilter = dateRange }; if (!string.IsNullOrEmpty(keyword)) { switch (searchType) { case SearchTypeEnum.IsExtract: keyword = keyword.ToLower(); break; case SearchTypeEnum.IsLeftRelatively: keyword = string.Format("*{0}", keyword); break; case SearchTypeEnum.IsRightRelatively: keyword = string.Format("{0}*", keyword); break; case SearchTypeEnum.IsRelatively: keyword = string.Format("*{0}*", keyword); break; case SearchTypeEnum.IsFirstCharacter: keyword = string.Format("?{0}", keyword); break; case SearchTypeEnum.IsLastCharacter: keyword = string.Format("{0}?", keyword); break; } if (fieldsForKeyword != null && fieldsForKeyword.Count > 0) { for (var i = 0; i < fieldsForKeyword.Count; i++) { fieldsForKeyword[i] = Char.ToLowerInvariant(fieldsForKeyword[i][0]) + fieldsForKeyword[i].Substring(1); } var queryString = new QueryStringQuery { Query = keyword.ToLower(), Fields = fieldsForKeyword.ToArray(), AllowLeadingWildcard = true, LowercaseExpendedTerms = true }; request.Query = new QueryContainer(queryString); } } var sort = new List <ISort> { new SortField() { Field = new Field() { Name = field }, Order = SortOrder.Descending } }; request.Sort = sort; ISearchResponse <T> result = _client.Search <T>(request); if (result != null) { total = result.Total; return(result.Documents); } return(new List <T>()); }
/// <summary> /// Search docs by keyword using query string /// </summary> /// <typeparam name="T"></typeparam> /// <param name="keyword"></param> /// <param name="indexName"></param> /// <param name="typeName"></param> /// <param name="fieldsForKeyword"></param> /// <param name="total"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="searchType"></param> /// <returns></returns> public IEnumerable <T> SearchByQueryString <T>(string keyword, string indexName, string typeName, List <string> fieldsForKeyword, out long total, int pageIndex = 0, int pageSize = 100, SearchTypeEnum searchType = SearchTypeEnum.IsExtract) where T : class { total = 0; if (!string.IsNullOrEmpty(indexName)) { indexName = indexName.ToLower(); } if (!string.IsNullOrEmpty(typeName)) { typeName = typeName.ToLower(); } var indices = Indices.Index(indexName); var types = Types.Type(typeName); var request = new SearchRequest(indices, types) { From = pageIndex, Size = pageSize, }; if (!string.IsNullOrEmpty(keyword)) { switch (searchType) { case SearchTypeEnum.IsExtract: //keyword = keyword.ToLower(); break; case SearchTypeEnum.IsLeftRelatively: keyword = string.Format("*{0}", keyword); break; case SearchTypeEnum.IsRightRelatively: keyword = string.Format("{0}*", keyword); break; case SearchTypeEnum.IsRelatively: keyword = string.Format("*{0}*", keyword); break; case SearchTypeEnum.IsFirstCharacter: keyword = string.Format("?{0}", keyword); break; case SearchTypeEnum.IsLastCharacter: keyword = string.Format("{0}?", keyword); break; } if (fieldsForKeyword != null && fieldsForKeyword.Count > 0) { for (var i = 0; i < fieldsForKeyword.Count; i++) { fieldsForKeyword[i] = Char.ToLowerInvariant(fieldsForKeyword[i][0]) + fieldsForKeyword[i].Substring(1); } var queryString = new QueryStringQuery { Query = keyword, //Fields = fieldsForKeyword.ToArray(), AllowLeadingWildcard = true, LowercaseExpendedTerms = true }; request.Query = new QueryContainer(queryString); } } //var sort = new List<ISort> //{ // new SortField() // { // Order = SortOrder.Descending // } //}; //request.Sort = sort; ISearchResponse <T> result = _client.Search <T>(request); if (result != null) { total = result.Total; return(result.Documents); } return(new List <T>()); }
private AppErrorEnum SearchDefinition(string str,SearchTypeEnum type) { try { if (type == SearchTypeEnum.RAE) { if (str.IndexOf(" ", 0, str.Length) > 0) return AppErrorEnum.MultipleWords; string mainURL = @"http://dle.rae.es/srv/search"; string encStr = HttpUtility.UrlEncode(str); string queryString = @"?w=" +encStr; switch (cboSearchType.SelectedIndex) { case 0://palabra exacta queryString += @"&&m=30"; break; case 1://por palabras queryString += @"&&m=form"; break; case 2: queryString += @"&&m=31"; break; case 3: queryString += @"&&m=32"; break; case 4: queryString += @"&&m=33"; break; case 5: queryString += @"&&anagram=anag"; break; case 7: mainURL = "http://lema.rae.es/drae/srv/search"; queryString = @"?type=1" + @"&&val=" + str; break; case 8: mainURL = "http://lema.rae.es/drae/srv/search"; queryString = @"?type=2" + @"&&val=" + str; break; default: queryString += @"&&m=form"; break; } ll.Text = mainURL + queryString; ie.Navigate(ll.Text); } else if (type == SearchTypeEnum.Dudas) { ie.Navigate(@"http://lema.rae.es/dpd/srv/search?key=" + txtSearch.Text); } return AppErrorEnum.None; } catch (Exception ex) { Debug.Write(ex.Message); return AppErrorEnum.SystemError; } }