/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the cloudsearchdomain-2013-01-01.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.CloudSearchDomain.Model; using Amazon.CloudSearchDomain.Model.Internal.MarshallTransformations; using Amazon.CloudSearchDomain.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.CloudSearchDomain { /// /// Implementation for accessing CloudSearchDomain /// /// You use the AmazonCloudSearch2013 API to upload documents to a search domain and search /// those documents. /// /// /// /// The endpoints for submitting UploadDocuments, Search, and /// Suggest requests are domain-specific. To get the endpoints for your domain, /// use the Amazon CloudSearch configuration service DescribeDomains action. /// The domain endpoints are also displayed on the domain dashboard in the Amazon CloudSearch /// console. You submit suggest requests to the search endpoint. /// /// /// /// For more information, see the Amazon /// CloudSearch Developer Guide. /// /// public partial class AmazonCloudSearchDomainClient : AmazonServiceClient, IAmazonCloudSearchDomain { private static IServiceMetadata serviceMetadata = new AmazonCloudSearchDomainMetadata(); #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.AddHandlerBefore(new Amazon.CloudSearchDomain.Internal.ProcessRequestHandler()); pipeline.AddHandlerBefore(new Amazon.CloudSearchDomain.Internal.ValidationResponseHandler()); pipeline.AddHandlerBefore(new Amazon.CloudSearchDomain.Internal.ProcessExceptionHandler()); pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonCloudSearchDomainEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region Search internal virtual SearchResponse Search(SearchRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SearchRequestMarshaller.Instance; options.ResponseUnmarshaller = SearchResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves a list of documents that match the specified search criteria. How you specify /// the search criteria depends on which query parser you use. Amazon CloudSearch supports /// four query parsers: /// ///
  • simple: search all text and text-array /// fields for the specified string. Search for phrases, individual terms, and prefixes. ///
  • structured: search specific fields, construct compound queries /// using Boolean operators, and use advanced features such as term boosting and proximity /// searching.
  • lucene: specify search criteria using the Apache /// Lucene query parser syntax.
  • dismax: specify search criteria /// using the simplified subset of the Apache Lucene query parser syntax defined by the /// DisMax query parser.
/// /// For more information, see Searching /// Your Data in the Amazon CloudSearch Developer Guide. /// /// /// /// The endpoint for submitting Search requests is domain-specific. You submit /// search requests to a domain's search endpoint. To get the search endpoint for your /// domain, use the Amazon CloudSearch configuration service DescribeDomains /// action. A domain's endpoints are also displayed on the domain dashboard in the Amazon /// CloudSearch console. /// ///
/// Container for the necessary parameters to execute the Search service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the Search service method, as returned by CloudSearchDomain. /// /// Information about any problems encountered while processing a search request. /// /// REST API Reference for Search Operation public virtual Task SearchAsync(SearchRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SearchRequestMarshaller.Instance; options.ResponseUnmarshaller = SearchResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region Suggest internal virtual SuggestResponse Suggest(SuggestRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = SuggestRequestMarshaller.Instance; options.ResponseUnmarshaller = SuggestResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Retrieves autocomplete suggestions for a partial query string. You can use suggestions /// enable you to display likely matches before users finish typing. In Amazon CloudSearch, /// suggestions are based on the contents of a particular text field. When you request /// suggestions, Amazon CloudSearch finds all of the documents whose values in the suggester /// field start with the specified query string. The beginning of the field must match /// the query string to be considered a match. /// /// /// /// For more information about configuring suggesters and retrieving suggestions, see /// Getting /// Suggestions in the Amazon CloudSearch Developer Guide. /// /// /// /// The endpoint for submitting Suggest requests is domain-specific. You /// submit suggest requests to a domain's search endpoint. To get the search endpoint /// for your domain, use the Amazon CloudSearch configuration service DescribeDomains /// action. A domain's endpoints are also displayed on the domain dashboard in the Amazon /// CloudSearch console. /// /// /// Container for the necessary parameters to execute the Suggest service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the Suggest service method, as returned by CloudSearchDomain. /// /// Information about any problems encountered while processing a search request. /// /// REST API Reference for Suggest Operation public virtual Task SuggestAsync(SuggestRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = SuggestRequestMarshaller.Instance; options.ResponseUnmarshaller = SuggestResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UploadDocuments internal virtual UploadDocumentsResponse UploadDocuments(UploadDocumentsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UploadDocumentsRequestMarshaller.Instance; options.ResponseUnmarshaller = UploadDocumentsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Posts a batch of documents to a search domain for indexing. A document batch is a /// collection of add and delete operations that represent the documents you want to add, /// update, or delete from your domain. Batches can be described in either JSON or XML. /// Each item that you want Amazon CloudSearch to return as a search result (such as a /// product) is represented as a document. Every document has a unique ID and one or more /// fields that contain the data that you want to search and return in results. Individual /// documents cannot contain more than 1 MB of data. The entire batch cannot exceed 5 /// MB. To get the best possible upload performance, group add and delete operations in /// batches that are close the 5 MB limit. Submitting a large volume of single-document /// batches can overload a domain's document service. /// /// /// /// The endpoint for submitting UploadDocuments requests is domain-specific. /// To get the document endpoint for your domain, use the Amazon CloudSearch configuration /// service DescribeDomains action. A domain's endpoints are also displayed /// on the domain dashboard in the Amazon CloudSearch console. /// /// /// /// For more information about formatting your data for Amazon CloudSearch, see Preparing /// Your Data in the Amazon CloudSearch Developer Guide. For more information /// about uploading data for indexing, see Uploading /// Data in the Amazon CloudSearch Developer Guide. /// /// /// Container for the necessary parameters to execute the UploadDocuments service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UploadDocuments service method, as returned by CloudSearchDomain. /// /// Information about any problems encountered while processing an upload request. /// /// REST API Reference for UploadDocuments Operation public virtual Task UploadDocumentsAsync(UploadDocumentsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UploadDocumentsRequestMarshaller.Instance; options.ResponseUnmarshaller = UploadDocumentsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }