Class AmazonCloudSearchDomainAsyncClient

  • All Implemented Interfaces:
    AmazonCloudSearchDomain, AmazonCloudSearchDomainAsync

    @ThreadSafe
    public class AmazonCloudSearchDomainAsyncClient
    extends AmazonCloudSearchDomainClient
    implements AmazonCloudSearchDomainAsync
    Interface for accessing Amazon CloudSearch Domain asynchronously. Each asynchronous method will return a Java Future object representing the asynchronous operation; overloads which accept an AsyncHandler can be used to receive notification when an asynchronous operation completes.

    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.

    • Constructor Detail

      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient()
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Credential profiles file at the default location (~/.aws/credentials) shared by all AWS SDKs and the AWS CLI
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        clientConfiguration - The client configuration options controlling how this client connects to Amazon CloudSearch Domain (ex: proxy settings, retry counts, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentials awsCredentials)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentials awsCredentials,
                                                  ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials and executor service. Default client settings will be used.
        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentials awsCredentials,
                                                  ClientConfiguration clientConfiguration,
                                                  ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials, executor service, and client configuration options.
        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentialsProvider awsCredentialsProvider)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials provider. Default client settings will be used.

        Asynchronous methods are delegated to a fixed-size thread pool containing 50 threads (to match the default maximum number of concurrent connections to the service).

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        See Also:
        Executors.newFixedThreadPool(int)
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                  ClientConfiguration clientConfiguration)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the provided AWS account credentials provider and client configuration options.

        Asynchronous methods are delegated to a fixed-size thread pool containing a number of threads equal to the maximum number of concurrent connections configured via ClientConfiguration.getMaxConnections().

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        See Also:
        DefaultAWSCredentialsProviderChain, Executors.newFixedThreadPool(int)
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                  ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials provider and executor service. Default client settings will be used.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        executorService - The executor service by which all asynchronous requests will be executed.
      • AmazonCloudSearchDomainAsyncClient

        public AmazonCloudSearchDomainAsyncClient​(AWSCredentialsProvider awsCredentialsProvider,
                                                  ClientConfiguration clientConfiguration,
                                                  ExecutorService executorService)
        Constructs a new asynchronous client to invoke service methods on Amazon CloudSearch Domain using the specified AWS account credentials provider, executor service, and client configuration options.
        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - Client configuration options (ex: max retry limit, proxy settings, etc).
        executorService - The executor service by which all asynchronous requests will be executed.
    • Method Detail

      • getExecutorService

        public ExecutorService getExecutorService()
        Returns the executor service used by this client to execute async requests.
        Returns:
        The executor service used by this client to execute async requests.
      • searchAsync

        public Future<SearchResult> searchAsync​(SearchRequest request)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        searchAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the Search request.
        Returns:
        A Java Future containing the result of the Search operation returned by the service.
      • searchAsync

        public Future<SearchResult> searchAsync​(SearchRequest request,
                                                AsyncHandler<SearchRequest,​SearchResult> asyncHandler)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        searchAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the Search request.
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the Search operation returned by the service.
      • suggestAsync

        public Future<SuggestResult> suggestAsync​(SuggestRequest request)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        suggestAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the Suggest request.
        Returns:
        A Java Future containing the result of the Suggest operation returned by the service.
      • suggestAsync

        public Future<SuggestResult> suggestAsync​(SuggestRequest request,
                                                  AsyncHandler<SuggestRequest,​SuggestResult> asyncHandler)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        suggestAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the Suggest request.
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the Suggest operation returned by the service.
      • uploadDocumentsAsync

        public Future<UploadDocumentsResult> uploadDocumentsAsync​(UploadDocumentsRequest request)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        uploadDocumentsAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the UploadDocuments request.
        Returns:
        A Java Future containing the result of the UploadDocuments operation returned by the service.
      • uploadDocumentsAsync

        public Future<UploadDocumentsResult> uploadDocumentsAsync​(UploadDocumentsRequest request,
                                                                  AsyncHandler<UploadDocumentsRequest,​UploadDocumentsResult> asyncHandler)
        Description copied from interface: AmazonCloudSearchDomainAsync

        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.

        Specified by:
        uploadDocumentsAsync in interface AmazonCloudSearchDomainAsync
        Parameters:
        request - Container for the parameters to the UploadDocuments request.
        asyncHandler - Asynchronous callback handler for events in the lifecycle of the request. Users can provide an implementation of the callback methods in this interface to receive notification of successful or unsuccessful completion of the operation.
        Returns:
        A Java Future containing the result of the UploadDocuments operation returned by the service.
      • shutdown

        public void shutdown()
        Shuts down the client, releasing all managed resources. This includes forcibly terminating all pending asynchronous service calls. Clients who wish to give pending asynchronous service calls time to complete should call getExecutorService().shutdown() followed by getExecutorService().awaitTermination() prior to calling this method.
        Specified by:
        shutdown in interface AmazonCloudSearchDomain
        Overrides:
        shutdown in class AmazonWebServiceClient