com.amazonaws.services.cloudsearchdomain.AmazonCloudSearchDomain Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
 * Copyright 2010-2016 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.
 */
package com.amazonaws.services.cloudsearchdomain;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.cloudsearchdomain.model.*;
/**
 * Interface for accessing Amazon CloudSearch Domain.
 * 
 * 
 * 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 interface AmazonCloudSearchDomain {
    /**
     * Overrides the default endpoint for this client. Callers can use this
     * method to control which AWS region they want to work with.
     * 
     * Callers can pass in just the endpoint or a full URL, including the
     * protocol. If the protocol is not specified here, the default protocol
     * from this client's {@link ClientConfiguration} will be used, which by
     * default is HTTPS.
     * 
     * For more information on using AWS regions with the AWS SDK for Java, and
     * a complete list of all available endpoints for all AWS services, see:  http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
     * 3912
     * 
     * This method is not threadsafe. An endpoint should be configured when
     * the client is created and before any service requests are made. Changing
     * it afterwards creates inevitable race conditions for any service requests
     * in transit or retrying.
     *
     * @param endpoint
     *        The endpoint or a full URL, including the protocol of the region
     *        specific AWS endpoint this client will communicate with.
     */
    void setEndpoint(String endpoint);
    /**
     * An alternative to {@link AmazonCloudSearchDomain#setEndpoint(String)},
     * sets the regional endpoint for this client's service calls. Callers can
     * use this method to control which AWS region they want to work with.
     * 
     * By default, all service endpoints in all regions use the https protocol.
     * To use http instead, specify it in the {@link ClientConfiguration}
     * supplied at construction.
     * 
     * This method is not threadsafe. A region should be configured when the
     * client is created and before any service requests are made. Changing it
     * afterwards creates inevitable race conditions for any service requests in
     * transit or retrying.
     *
     * @param region
     *        The region this client will communicate with. See
     *        {@link Region#getRegion(com.amazonaws.regions.Regions)} for
     *        accessing a given region. Must not be null and must be a region
     *        where the service is available.
     *
     * @see Region#getRegion(com.amazonaws.regions.Regions)
     * @see Region#createClient(Class,
     *      com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
     * @see Region#isServiceSupported(String)
     */
    void setRegion(Region region);
    /**
     * 
     * 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.
     * 
     * 
     * @param searchRequest
     *        Container for the parameters to the Search request.
     * @return Result of the Search operation returned by the service.
     * @throws SearchException
     *         Information about any problems encountered while processing a
     *         search request.
     * @sample AmazonCloudSearchDomain.Search
     */
    SearchResult search(SearchRequest searchRequest);
    /**
     * 
     * 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.
     * 
     * 
     * @param suggestRequest
     *        Container for the parameters to the Suggest request.
     * @return Result of the Suggest operation returned by the service.
     * @throws SearchException
     *         Information about any problems encountered while processing a
     *         search request.
     * @sample AmazonCloudSearchDomain.Suggest
     */
    SuggestResult suggest(SuggestRequest suggestRequest);
    /**
     * 
     * 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.
     * 
     * 
     * @param uploadDocumentsRequest
     *        Container for the parameters to the UploadDocuments
     *        request.
     * @return Result of the UploadDocuments operation returned by the service.
     * @throws DocumentServiceException
     *         Information about any problems encountered while processing an
     *         upload request.
     * @sample AmazonCloudSearchDomain.UploadDocuments
     */
    UploadDocumentsResult uploadDocuments(
            UploadDocumentsRequest uploadDocumentsRequest);
    /**
     * Shuts down this client object, releasing any resources that might be held
     * open. This is an optional method, and callers are not expected to call
     * it, but can if they want to explicitly release any open resources. Once a
     * client has been shutdown, it should not be used to make any more
     * requests.
     */
    void shutdown();
    /**
     * Returns additional metadata for a previously executed successful request,
     * typically used for debugging issues where a service isn't acting as
     * expected. This data isn't considered part of the result data returned by
     * an operation, so it's available through this separate, diagnostic
     * interface.
     * 
     * Response metadata is only cached for a limited period of time, so if you
     * need to access this extra diagnostic information for an executed request,
     * you should use this method to retrieve it as soon as possible after
     * executing a request.
     *
     * @param request
     *        The originally executed request.
     *
     * @return The response metadata for the specified request, or null if none
     *         is available.
     */
    ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}