protected IAmazonCloudSearchDomain CreateClient(string serviceUrl) { var config = new AmazonCloudSearchDomainConfig { ServiceURL = serviceUrl }; Amazon.PowerShell.Utils.Common.PopulateConfig(this, config); var client = new AmazonCloudSearchDomainClient(this._CurrentCredentials, config); client.BeforeRequestEvent += RequestEventHandler; client.AfterResponseEvent += ResponseEventHandler; return(client); }
public AWSCloudSearchHelper(RegionEndpoint regionEndpoint, string AWSAcessKey, string AWSSecretKey, string AWSCloudSearchDomainEndpoint) { // Set configuration info AmazonCloudSearchDomainConfig config = new AmazonCloudSearchDomainConfig(); config.Timeout = new TimeSpan(1, 0, 0); config.ReadWriteTimeout = new TimeSpan(1, 0, 0); config.RegionEndpoint = regionEndpoint; config.ServiceURL = AWSCloudSearchDomainEndpoint; // Create CloudSearch client CloudSearchClient = new AmazonCloudSearchDomainClient( AWSAcessKey, AWSSecretKey, config); }
public AWSCloudSearchHelper(RegionEndpoint regionEndpoint) { // Set configuration info AmazonCloudSearchDomainConfig config = new AmazonCloudSearchDomainConfig(); config.Timeout = new TimeSpan(1, 0, 0); config.ReadWriteTimeout = new TimeSpan(1, 0, 0); config.RegionEndpoint = regionEndpoint; config.ServiceURL = Gadgets.LoadConfigurationSetting("AWS_CloudSearch_DomainEndpoint", ""); // Create CloudSearch client CloudSearchClient = new AmazonCloudSearchDomainClient( Gadgets.LoadConfigurationSetting("AWSAccessKey", ""), Gadgets.LoadConfigurationSetting("AWSSecretKey", ""), config); }
public IResultSet Search(ISearchQuery query) { var amazonSearchParameters = this.GetAmazonParams(); AmazonCloudSearchDomainConfig config = new AmazonCloudSearchDomainConfig(); config.ServiceURL = amazonSearchParameters[SearchEndPoint]; AmazonCloudSearchDomainClient domainClient = new AmazonCloudSearchDomainClient(amazonSearchParameters[AccessKey], amazonSearchParameters[SecretAccessKey], config); List <string> suggestions = new List <string>(); StringBuilder highlights = new StringBuilder(); highlights.Append("{\'"); if (query == null) { throw new ArgumentNullException("query"); } foreach (var field in query.HighlightedFields) { if (highlights.Length > 2) { highlights.Append(", \'"); } highlights.Append(field.ToLowerInvariant()); highlights.Append("\':{} "); SuggestRequest suggestRequest = new SuggestRequest(); suggestRequest.Suggester = this.GetSuggesterName(field); suggestRequest.Size = query.Take; suggestRequest.Query = query.Text; SuggestResponse suggestion = domainClient.Suggest(suggestRequest); foreach (var suggest in suggestion.Suggest.Suggestions) { suggestions.Add(suggest.Suggestion); } } highlights.Append("}"); SearchRequest searchRequest = new SearchRequest(); if (query.Filter != null) { searchRequest.FilterQuery = this.BuildQueryFilter(query.Filter); } if (query.OrderBy != null) { searchRequest.Sort = string.Join(",", query.OrderBy); } if (query.Take > 0) { searchRequest.Size = query.Take; } if (query.Skip > 0) { searchRequest.Start = query.Skip; } searchRequest.Highlight = highlights.ToString(); searchRequest.Query = query.Text; searchRequest.QueryParser = QueryParser.Simple; var result = domainClient.Search(searchRequest).SearchResult; return(new AmazonResultSet(result, suggestions)); }