Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
 private void SearchRadioIRButton_Click(object sender, EventArgs e)
 {
     RigSearchResultsListView.Items.Clear();
     RigSearchResultsListView.View = View.Details;
     searchType = SearchTypeEnum.IR;
     UpdateRigSearchResultsListView();
 }
Exemplo n.º 3
0
 public SearchContext(SearchTypeEnum searchType, string query, int page, int count)
 {
     SearchType = searchType;
     Query = query;
     Page = page;
     Count = count;
 }
Exemplo n.º 4
0
 public SearchContext(ProviderEnum provider, SearchTypeEnum searchType, string query, int page, int count)
 {
     Provider = provider;
     SearchType = searchType;
     Query = query;
     Page = page;
     Count = count;
 }
Exemplo n.º 5
0
        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);
                    }
                }
            }
        }
Exemplo n.º 6
0
 private static bool IsTypeIncluded(IList <int> includedSearchTypes, SearchTypeEnum type)
 {
     return(includedSearchTypes == null || includedSearchTypes.Count == 0 || includedSearchTypes.Contains((int)type));
 }
Exemplo n.º 7
0
 public SearchTypeSelectedEventArgs(SearchTypeEnum searchType)
 {
     SearchType = searchType;
 }
Exemplo n.º 8
0
        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;
            }
        }
Exemplo n.º 9
0
 public SearchCommand(SearchTypeEnum searchType, string query, int page, int count)
 {
     this.searchContext = new SearchContext(searchType, query, page, count);
 }
Exemplo n.º 10
0
 public static SearchResultList ReadSearchResultList(SearchTypeEnum searchType, string query, int page)
 {
     string cacheName = "search-" + searchType + "-" + query + "-" + page;
     return (SearchResultList) CacheService.Read(cacheName);
 }
Exemplo n.º 11
0
 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);
 }
Exemplo n.º 12
0
 public SearchByAnotherTypeMenuItem(string textResourceKey, SearchTypeEnum searchType)
 {
     TextResourceKey = textResourceKey;
     SearchType      = searchType;
 }
Exemplo n.º 13
0
        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>());
        }
Exemplo n.º 14
0
        /// <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>());
        }
Exemplo n.º 15
0
        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;
            }
        }