lib/aws-sdk-cloudsearchdomain/client.rb in aws-sdk-cloudsearchdomain-1.0.0.rc1 vs lib/aws-sdk-cloudsearchdomain/client.rb in aws-sdk-cloudsearchdomain-1.0.0.rc2
- old
+ new
@@ -1,8 +1,8 @@
# WARNING ABOUT GENERATED CODE
#
-# This file is generated. See the contributing for info on making contributions:
+# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
require 'seahorse/client/plugins/content_length.rb'
@@ -18,695 +18,739 @@
require 'aws-sdk-core/plugins/stub_responses.rb'
require 'aws-sdk-core/plugins/idempotency_token.rb'
require 'aws-sdk-core/plugins/signature_v4.rb'
require 'aws-sdk-core/plugins/protocols/rest_json.rb'
require 'aws-sdk-cloudsearchdomain/plugins/conditional_signing.rb'
+require 'aws-sdk-cloudsearchdomain/plugins/switch_to_post.rb'
Aws::Plugins::GlobalConfiguration.add_identifier(:cloudsearchdomain)
-module Aws
- module CloudSearchDomain
- class Client < Seahorse::Client::Base
+module Aws::CloudSearchDomain
+ class Client < Seahorse::Client::Base
- include Aws::ClientStubs
+ include Aws::ClientStubs
- @identifier = :cloudsearchdomain
+ @identifier = :cloudsearchdomain
- set_api(ClientApi::API)
+ set_api(ClientApi::API)
- add_plugin(Seahorse::Client::Plugins::ContentLength)
- add_plugin(Aws::Plugins::CredentialsConfiguration)
- add_plugin(Aws::Plugins::Logging)
- add_plugin(Aws::Plugins::ParamConverter)
- add_plugin(Aws::Plugins::ParamValidator)
- add_plugin(Aws::Plugins::UserAgent)
- add_plugin(Aws::Plugins::HelpfulSocketErrors)
- add_plugin(Aws::Plugins::RetryErrors)
- add_plugin(Aws::Plugins::GlobalConfiguration)
- add_plugin(Aws::Plugins::ResponsePaging)
- add_plugin(Aws::Plugins::StubResponses)
- add_plugin(Aws::Plugins::IdempotencyToken)
- add_plugin(Aws::Plugins::SignatureV4)
- add_plugin(Aws::Plugins::Protocols::RestJson)
- add_plugin(Aws::CloudSearchDomain::Plugins::ConditionalSigning)
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
+ add_plugin(Aws::Plugins::Logging)
+ add_plugin(Aws::Plugins::ParamConverter)
+ add_plugin(Aws::Plugins::ParamValidator)
+ add_plugin(Aws::Plugins::UserAgent)
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
+ add_plugin(Aws::Plugins::RetryErrors)
+ add_plugin(Aws::Plugins::GlobalConfiguration)
+ add_plugin(Aws::Plugins::ResponsePaging)
+ add_plugin(Aws::Plugins::StubResponses)
+ add_plugin(Aws::Plugins::IdempotencyToken)
+ add_plugin(Aws::Plugins::SignatureV4)
+ add_plugin(Aws::Plugins::Protocols::RestJson)
+ add_plugin(Aws::CloudSearchDomain::Plugins::ConditionalSigning)
+ add_plugin(Aws::CloudSearchDomain::Plugins::SwitchToPost)
- # @option options [required, Aws::CredentialProvider] :credentials
- # Your AWS credentials. This can be an instance of any one of the
- # following classes:
- #
- # * `Aws::Credentials` - Used for configuring static, non-refreshing
- # credentials.
- #
- # * `Aws::InstanceProfileCredentials` - Used for loading credentials
- # from an EC2 IMDS on an EC2 instance.
- #
- # * `Aws::SharedCredentials` - Used for loading credentials from a
- # shared file, such as `~/.aws/config`.
- #
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
- #
- # When `:credentials` are not configured directly, the following
- # locations will be searched for credentials:
- #
- # * `Aws.config[:credentials]`
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
- # * `~/.aws/credentials`
- # * `~/.aws/config`
- # * EC2 IMDS instance profile - When used by default, the timeouts are
- # very aggressive. Construct and pass an instance of
- # `Aws::InstanceProfileCredentails` to enable retries and extended
- # timeouts.
- # @option options [String] :access_key_id
- # @option options [Boolean] :convert_params (true)
- # When `true`, an attempt is made to coerce request parameters into
- # the required types.
- # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
- # The log formatter.
- # @option options [Symbol] :log_level (:info)
- # The log level to send messages to the `:logger` at.
- # @option options [Logger] :logger
- # The Logger instance to send log messages to. If this option
- # is not set, logging will be disabled.
- # @option options [String] :profile ("default")
- # Used when loading credentials from the shared credentials file
- # at HOME/.aws/credentials. When not specified, 'default' is used.
- # @option options [Integer] :retry_limit (3)
- # The maximum number of times to retry failed requests. Only
- # ~ 500 level server errors and certain ~ 400 level client errors
- # are retried. Generally, these are throttling errors, data
- # checksum errors, networking errors, timeout errors and auth
- # errors from expired credentials.
- # @option options [String] :secret_access_key
- # @option options [String] :session_token
- # @option options [String] :sigv4_region
- # Only needed when sending authenticated/signed requests to a Cloud
- # Search domain and the endpoint does not contain the region name.
- # @option options [Boolean] :stub_responses (false)
- # Causes the client to return stubbed responses. By default
- # fake responses are generated and returned. You can specify
- # the response data to return or errors to raise by calling
- # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
- #
- # ** Please note ** When response stubbing is enabled, no HTTP
- # requests are made, and retries are disabled.
- # @option options [Boolean] :validate_params (true)
- # When `true`, request parameters are validated before
- # sending the request.
- def initialize(*args)
- super
- end
+ # @option options [required, Aws::CredentialProvider] :credentials
+ # Your AWS credentials. This can be an instance of any one of the
+ # following classes:
+ #
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
+ # credentials.
+ #
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
+ # from an EC2 IMDS on an EC2 instance.
+ #
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
+ # shared file, such as `~/.aws/config`.
+ #
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
+ #
+ # When `:credentials` are not configured directly, the following
+ # locations will be searched for credentials:
+ #
+ # * `Aws.config[:credentials]`
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
+ # * `~/.aws/credentials`
+ # * `~/.aws/config`
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
+ # very aggressive. Construct and pass an instance of
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
+ # timeouts.
+ #
+ # @option options [String] :access_key_id
+ #
+ # @option options [Boolean] :convert_params (true)
+ # When `true`, an attempt is made to coerce request parameters into
+ # the required types.
+ #
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
+ # The log formatter.
+ #
+ # @option options [Symbol] :log_level (:info)
+ # The log level to send messages to the `:logger` at.
+ #
+ # @option options [Logger] :logger
+ # The Logger instance to send log messages to. If this option
+ # is not set, logging will be disabled.
+ #
+ # @option options [String] :profile ("default")
+ # Used when loading credentials from the shared credentials file
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
+ #
+ # @option options [Integer] :retry_limit (3)
+ # The maximum number of times to retry failed requests. Only
+ # ~ 500 level server errors and certain ~ 400 level client errors
+ # are retried. Generally, these are throttling errors, data
+ # checksum errors, networking errors, timeout errors and auth
+ # errors from expired credentials.
+ #
+ # @option options [String] :secret_access_key
+ #
+ # @option options [String] :session_token
+ #
+ # @option options [String] :sigv4_region
+ # Only needed when sending authenticated/signed requests to a Cloud
+ # Search domain and the endpoint does not contain the region name.
+ #
+ # @option options [Boolean] :stub_responses (false)
+ # Causes the client to return stubbed responses. By default
+ # fake responses are generated and returned. You can specify
+ # the response data to return or errors to raise by calling
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
+ #
+ # ** Please note ** When response stubbing is enabled, no HTTP
+ # requests are made, and retries are disabled.
+ #
+ # @option options [Boolean] :validate_params (true)
+ # When `true`, request parameters are validated before
+ # sending the request.
+ #
+ def initialize(*args)
+ super
+ end
- # @!group API Operations
+ # @!group API Operations
- # 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][1] 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.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching.html
- # @option params [String] :cursor
- # Retrieves a cursor value you can use to page through large result
- # sets. Use the `size` parameter to control the number of hits to
- # include in each response. You can specify either the `cursor` or
- # `start` parameter in a request; they are mutually exclusive. To get
- # the first cursor, set the cursor value to `initial`. In subsequent
- # requests, specify the cursor value returned in the hits section of the
- # response.
- #
- # For more information, see [Paginating Results][1] in the *Amazon
- # CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/paginating-results.html
- # @option params [String] :expr
- # Defines one or more numeric expressions that can be used to sort
- # results or specify search or filter criteria. You can also specify
- # expressions as return fields.
- #
- # You specify the expressions in JSON using the form
- # `\{"EXPRESSIONNAME":"EXPRESSION"\}`. You can define and use multiple
- # expressions in a search request. For example:
- #
- # ` \{"expression1":"_score*rating", "expression2":"(1/rank)*year"\} `
- #
- # For information about the variables, operators, and functions you can
- # use in expressions, see [Writing Expressions][1] in the *Amazon
- # CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html#writing-expressions
- # @option params [String] :facet
- # Specifies one or more fields for which to get facet information, and
- # options that control how the facet information is returned. Each
- # specified field must be facet-enabled in the domain configuration. The
- # fields and options are specified in JSON using the form
- # `\{"FIELD":\{"OPTION":VALUE,"OPTION:"STRING"\},"FIELD":\{"OPTION":VALUE,"OPTION":"STRING"\}\}`.
- #
- # You can specify the following faceting options:
- #
- # * `buckets` specifies an array of the facet values or ranges to count.
- # Ranges are specified using the same syntax that you use to search
- # for a range of values. For more information, see [ Searching for a
- # Range of Values][1] in the *Amazon CloudSearch Developer Guide*.
- # Buckets are returned in the order they are specified in the request.
- # The `sort` and `size` options are not valid if you specify
- # `buckets`.
- #
- # * `size` specifies the maximum number of facets to include in the
- # results. By default, Amazon CloudSearch returns counts for the top
- # 10. The `size` parameter is only valid when you specify the `sort`
- # option; it cannot be used in conjunction with `buckets`.
- #
- # * `sort` specifies how you want to sort the facets in the results:
- # `bucket` or `count`. Specify `bucket` to sort alphabetically or
- # numerically by facet value (in ascending order). Specify `count` to
- # sort by the facet counts computed for each facet value (in
- # descending order). To retrieve facet counts for particular values or
- # ranges of values, use the `buckets` option instead of `sort`.
- #
- # If no facet options are specified, facet counts are computed for all
- # field values, the facets are sorted by facet count, and the top 10
- # facets are returned in the results.
- #
- # To count particular buckets of values, use the `buckets` option. For
- # example, the following request uses the `buckets` option to calculate
- # and return facet counts by decade.
- #
- # `
- # \{"year":\{"buckets":["[1970,1979]","[1980,1989]","[1990,1999]","[2000,2009]","[2010,\}"]\}\}
- # `
- #
- # To sort facets by facet count, use the `count` option. For example,
- # the following request sets the `sort` option to `count` to sort the
- # facet values by facet count, with the facet values that have the most
- # matching documents listed first. Setting the `size` option to 3
- # returns only the top three facet values.
- #
- # ` \{"year":\{"sort":"count","size":3\}\} `
- #
- # To sort the facets by value, use the `bucket` option. For example, the
- # following request sets the `sort` option to `bucket` to sort the facet
- # values numerically by year, with earliest year listed first.
- #
- # ` \{"year":\{"sort":"bucket"\}\} `
- #
- # For more information, see [Getting and Using Facet Information][2] in
- # the *Amazon CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-ranges.html
- # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/faceting.html
- # @option params [String] :filter_query
- # Specifies a structured query that filters the results of a search
- # without affecting how the results are scored and sorted. You use
- # `filterQuery` in conjunction with the `query` parameter to filter the
- # documents that match the constraints specified in the `query`
- # parameter. Specifying a filter controls only which matching documents
- # are included in the results, it has no effect on how they are scored
- # and sorted. The `filterQuery` parameter supports the full structured
- # query syntax.
- #
- # For more information about using filters, see [Filtering Matching
- # Documents][1] in the *Amazon CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/filtering-results.html
- # @option params [String] :highlight
- # Retrieves highlights for matches in the specified `text` or
- # `text-array` fields. Each specified field must be highlight enabled in
- # the domain configuration. The fields and options are specified in JSON
- # using the form
- # `\{"FIELD":\{"OPTION":VALUE,"OPTION:"STRING"\},"FIELD":\{"OPTION":VALUE,"OPTION":"STRING"\}\}`.
- #
- # You can specify the following highlight options:
- #
- # * `format`\: specifies the format of the data in the text field:
- # `text` or `html`. When data is returned as HTML, all
- # non-alphanumeric characters are encoded. The default is `html`.
- # * `max_phrases`\: specifies the maximum number of occurrences of the
- # search term(s) you want to highlight. By default, the first
- # occurrence is highlighted.
- # * `pre_tag`\: specifies the string to prepend to an occurrence of a
- # search term. The default for HTML highlights is `<em>`. The
- # default for text highlights is `*`.
- # * `post_tag`\: specifies the string to append to an occurrence of a
- # search term. The default for HTML highlights is `</em>`. The
- # default for text highlights is `*`.
- #
- # If no highlight options are specified for a field, the returned field
- # text is treated as HTML and the first match is highlighted with
- # emphasis tags: `<em>search-term</em>`.
- #
- # For example, the following request retrieves highlights for the
- # `actors` and `title` fields.
- #
- # `\{ "actors": \{\}, "title": \{"format": "text","max_phrases":
- # 2,"pre_tag": "","post_tag": ""\} \}`
- # @option params [Boolean] :partial
- # Enables partial results to be returned if one or more index partitions
- # are unavailable. When your search index is partitioned across multiple
- # search instances, by default Amazon CloudSearch only returns results
- # if every partition can be queried. This means that the failure of a
- # single search instance can result in 5xx (internal server) errors.
- # When you enable partial results, Amazon CloudSearch returns whatever
- # results are available and includes the percentage of documents
- # searched in the search results (percent-searched). This enables you to
- # more gracefully degrade your users' search experience. For example,
- # rather than displaying no results, you could display the partial
- # results and a message indicating that the results might be incomplete
- # due to a temporary system outage.
- # @option params [required, String] :query
- # Specifies the search criteria for the request. How you specify the
- # search criteria depends on the query parser used for the request and
- # the parser options specified in the `queryOptions` parameter. By
- # default, the `simple` query parser is used to process requests. To use
- # the `structured`, `lucene`, or `dismax` query parser, you must also
- # specify the `queryParser` parameter.
- #
- # For more information about specifying search criteria, see [Searching
- # Your Data][1] in the *Amazon CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching.html
- # @option params [String] :query_options
- # Configures options for the query parser specified in the `queryParser`
- # parameter. You specify the options in JSON using the following form
- # `\{"OPTION1":"VALUE1","OPTION2":VALUE2"..."OPTIONN":"VALUEN"\}.`
- #
- # The options you can configure vary according to which parser you use:
- #
- # * `defaultOperator`\: The default operator used to combine individual
- # terms in the search string. For example: `defaultOperator: 'or'`.
- # For the `dismax` parser, you specify a percentage that represents
- # the percentage of terms in the search string (rounded down) that
- # must match, rather than a default operator. A value of `0%` is the
- # equivalent to OR, and a value of `100%` is equivalent to AND. The
- # percentage must be specified as a value in the range 0-100 followed
- # by the percent (%) symbol. For example, `defaultOperator: 50%`.
- # Valid values: `and`, `or`, a percentage in the range 0%-100%
- # (`dismax`). Default: `and` (`simple`, `structured`, `lucene`) or
- # `100` (`dismax`). Valid for: `simple`, `structured`, `lucene`, and
- # `dismax`.
- # * `fields`\: An array of the fields to search when no fields are
- # specified in a search. If no fields are specified in a search and
- # this option is not specified, all text and text-array fields are
- # searched. You can specify a weight for each field to control the
- # relative importance of each field when Amazon CloudSearch calculates
- # relevance scores. To specify a field weight, append a caret (`^`)
- # symbol and the weight to the field name. For example, to boost the
- # importance of the `title` field over the `description` field you
- # could specify: `"fields":["title^5","description"]`. Valid values:
- # The name of any configured field and an optional numeric value
- # greater than zero. Default: All `text` and `text-array` fields.
- # Valid for: `simple`, `structured`, `lucene`, and `dismax`.
- # * `operators`\: An array of the operators or special characters you
- # want to disable for the simple query parser. If you disable the
- # `and`, `or`, or `not` operators, the corresponding operators (`+`,
- # `|`, `-`) have no special meaning and are dropped from the search
- # string. Similarly, disabling `prefix` disables the wildcard operator
- # (`*`) and disabling `phrase` disables the ability to search for
- # phrases by enclosing phrases in double quotes. Disabling precedence
- # disables the ability to control order of precedence using
- # parentheses. Disabling `near` disables the ability to use the ~
- # operator to perform a sloppy phrase search. Disabling the `fuzzy`
- # operator disables the ability to use the ~ operator to perform a
- # fuzzy search. `escape` disables the ability to use a backslash (``)
- # to escape special characters within the search string. Disabling
- # whitespace is an advanced option that prevents the parser from
- # tokenizing on whitespace, which can be useful for Vietnamese. (It
- # prevents Vietnamese words from being split incorrectly.) For
- # example, you could disable all operators other than the phrase
- # operator to support just simple term and phrase queries:
- # `"operators":["and","not","or", "prefix"]`. Valid values: `and`,
- # `escape`, `fuzzy`, `near`, `not`, `or`, `phrase`, `precedence`,
- # `prefix`, `whitespace`. Default: All operators and special
- # characters are enabled. Valid for: `simple`.
- # * `phraseFields`\: An array of the `text` or `text-array` fields you
- # want to use for phrase searches. When the terms in the search string
- # appear in close proximity within a field, the field scores higher.
- # You can specify a weight for each field to boost that score. The
- # `phraseSlop` option controls how much the matches can deviate from
- # the search string and still be boosted. To specify a field weight,
- # append a caret (`^`) symbol and the weight to the field name. For
- # example, to boost phrase matches in the `title` field over the
- # `abstract` field, you could specify: `"phraseFields":["title^3",
- # "plot"]` Valid values: The name of any `text` or `text-array` field
- # and an optional numeric value greater than zero. Default: No fields.
- # If you don't specify any fields with `phraseFields`, proximity
- # scoring is disabled even if `phraseSlop` is specified. Valid for:
- # `dismax`.
- # * `phraseSlop`\: An integer value that specifies how much matches can
- # deviate from the search phrase and still be boosted according to the
- # weights specified in the `phraseFields` option; for example,
- # `phraseSlop: 2`. You must also specify `phraseFields` to enable
- # proximity scoring. Valid values: positive integers. Default: 0.
- # Valid for: `dismax`.
- # * `explicitPhraseSlop`\: An integer value that specifies how much a
- # match can deviate from the search phrase when the phrase is enclosed
- # in double quotes in the search string. (Phrases that exceed this
- # proximity distance are not considered a match.) For example, to
- # specify a slop of three for dismax phrase queries, you would specify
- # `"explicitPhraseSlop":3`. Valid values: positive integers. Default:
- # 0. Valid for: `dismax`.
- # * `tieBreaker`\: When a term in the search string is found in a
- # document's field, a score is calculated for that field based on how
- # common the word is in that field compared to other documents. If the
- # term occurs in multiple fields within a document, by default only
- # the highest scoring field contributes to the document's overall
- # score. You can specify a `tieBreaker` value to enable the matches in
- # lower-scoring fields to contribute to the document's score. That
- # way, if two documents have the same max field score for a particular
- # term, the score for the document that has matches in more fields
- # will be higher. The formula for calculating the score with a
- # tieBreaker is `(max field score) + (tieBreaker) * (sum of the scores
- # for the rest of the matching fields)`. Set `tieBreaker` to 0 to
- # disregard all but the highest scoring field (pure max):
- # `"tieBreaker":0`. Set to 1 to sum the scores from all fields (pure
- # sum): `"tieBreaker":1`. Valid values: 0.0 to 1.0. Default: 0.0.
- # Valid for: `dismax`.
- # @option params [String] :query_parser
- # Specifies which query parser to use to process the request. If
- # `queryParser` is not specified, Amazon CloudSearch uses the `simple`
- # query parser.
- #
- # Amazon CloudSearch supports four query parsers:
- #
- # * `simple`\: perform simple searches of `text` and `text-array`
- # fields. By default, the `simple` query parser searches all `text`
- # and `text-array` fields. You can specify which fields to search by
- # with the `queryOptions` parameter. If you prefix a search term with
- # a plus sign (+) documents must contain the term to be considered a
- # match. (This is the default, unless you configure the default
- # operator with the `queryOptions` parameter.) You can use the `-`
- # (NOT), `|` (OR), and `*` (wildcard) operators to exclude particular
- # terms, find results that match any of the specified terms, or search
- # for a prefix. To search for a phrase rather than individual terms,
- # enclose the phrase in double quotes. For more information, see
- # [Searching for Text][1] in the *Amazon CloudSearch Developer Guide*.
- # * `structured`\: perform advanced searches by combining multiple
- # expressions to define the search criteria. You can also search
- # within particular fields, search for values and ranges of values,
- # and use advanced options such as term boosting, `matchall`, and
- # `near`. For more information, see [Constructing Compound Queries][2]
- # in the *Amazon CloudSearch Developer Guide*.
- # * `lucene`\: search using the Apache Lucene query parser syntax. For
- # more information, see [Apache Lucene Query Parser Syntax][3].
- # * `dismax`\: search using the simplified subset of the Apache Lucene
- # query parser syntax defined by the DisMax query parser. For more
- # information, see [DisMax Query Parser Syntax][4].
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-text.html
- # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-compound-queries.html
- # [3]: http://lucene.apache.org/core/4_6_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description
- # [4]: http://wiki.apache.org/solr/DisMaxQParserPlugin#Query_Syntax
- # @option params [String] :return
- # Specifies the field and expression values to include in the response.
- # Multiple fields or expressions are specified as a comma-separated
- # list. By default, a search response includes all return enabled fields
- # (`_all_fields`). To return only the document IDs for the matching
- # documents, specify `_no_fields`. To retrieve the relevance score
- # calculated for each document, specify `_score`.
- # @option params [Integer] :size
- # Specifies the maximum number of search hits to include in the
- # response.
- # @option params [String] :sort
- # Specifies the fields or custom expressions to use to sort the search
- # results. Multiple fields or expressions are specified as a
- # comma-separated list. You must specify the sort direction (`asc` or
- # `desc`) for each field; for example, `year desc,title asc`. To use a
- # field to sort results, the field must be sort-enabled in the domain
- # configuration. Array type fields cannot be used for sorting. If no
- # `sort` parameter is specified, results are sorted by their default
- # relevance scores in descending order: `_score desc`. You can also sort
- # by document ID (`_id asc`) and version (`_version desc`).
- #
- # For more information, see [Sorting Results][1] in the *Amazon
- # CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/sorting-results.html
- # @option params [Integer] :start
- # Specifies the offset of the first search hit you want to return. Note
- # that the result set is zero-based; the first result is at index 0. You
- # can specify either the `start` or `cursor` parameter in a request,
- # they are mutually exclusive.
- #
- # For more information, see [Paginating Results][1] in the *Amazon
- # CloudSearch Developer Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/paginating-results.html
- # @option params [String] :stats
- # Specifies one or more fields for which to get statistics information.
- # Each specified field must be facet-enabled in the domain
- # configuration. The fields are specified in JSON using the form:
- #
- # `\{"FIELD-A":\{\},"FIELD-B":\{\}\}` There are currently no options supported for statistics.
- # @return [Types::SearchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
- #
- # * {Types::SearchResponse#status #status} => Types::SearchStatus
- # * {Types::SearchResponse#hits #hits} => Types::Hits
- # * {Types::SearchResponse#facets #facets} => Hash<String,Types::BucketInfo>
- # * {Types::SearchResponse#stats #stats} => Hash<String,Types::FieldStats>
- #
- # @example Request syntax with placeholder values
- # resp = client.search({
- # cursor: "Cursor",
- # expr: "Expr",
- # facet: "Facet",
- # filter_query: "FilterQuery",
- # highlight: "Highlight",
- # partial: false,
- # query: "Query", # required
- # query_options: "QueryOptions",
- # query_parser: "simple", # accepts simple, structured, lucene, dismax
- # return: "Return",
- # size: 1,
- # sort: "Sort",
- # start: 1,
- # stats: "Stat",
- # })
- #
- # @example Response structure
- # resp.status.timems #=> Integer
- # resp.status.rid #=> String
- # resp.hits.found #=> Integer
- # resp.hits.start #=> Integer
- # resp.hits.cursor #=> String
- # resp.hits.hit #=> Array
- # resp.hits.hit[0].id #=> String
- # resp.hits.hit[0].fields #=> Hash
- # resp.hits.hit[0].fields["String"] #=> Array
- # resp.hits.hit[0].fields["String"][0] #=> String
- # resp.hits.hit[0].exprs #=> Hash
- # resp.hits.hit[0].exprs["String"] #=> String
- # resp.hits.hit[0].highlights #=> Hash
- # resp.hits.hit[0].highlights["String"] #=> String
- # resp.facets #=> Hash
- # resp.facets["String"].buckets #=> Array
- # resp.facets["String"].buckets[0].value #=> String
- # resp.facets["String"].buckets[0].count #=> Integer
- # resp.stats #=> Hash
- # resp.stats["String"].min #=> String
- # resp.stats["String"].max #=> String
- # resp.stats["String"].count #=> Integer
- # resp.stats["String"].missing #=> Integer
- # resp.stats["String"].sum #=> Float
- # resp.stats["String"].sum_of_squares #=> Float
- # resp.stats["String"].mean #=> String
- # resp.stats["String"].stddev #=> Float
- # @overload search(params = {})
- # @param [Hash] params ({})
- def search(params = {}, options = {})
- req = build_request(:search, params)
- req.send_request(options)
- end
+ # 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][1] 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.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching.html
+ #
+ # @option params [String] :cursor
+ # Retrieves a cursor value you can use to page through large result
+ # sets. Use the `size` parameter to control the number of hits to
+ # include in each response. You can specify either the `cursor` or
+ # `start` parameter in a request; they are mutually exclusive. To get
+ # the first cursor, set the cursor value to `initial`. In subsequent
+ # requests, specify the cursor value returned in the hits section of the
+ # response.
+ #
+ # For more information, see [Paginating Results][1] in the *Amazon
+ # CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/paginating-results.html
+ #
+ # @option params [String] :expr
+ # Defines one or more numeric expressions that can be used to sort
+ # results or specify search or filter criteria. You can also specify
+ # expressions as return fields.
+ #
+ # You specify the expressions in JSON using the form
+ # `\{"EXPRESSIONNAME":"EXPRESSION"\}`. You can define and use multiple
+ # expressions in a search request. For example:
+ #
+ # ` \{"expression1":"_score*rating", "expression2":"(1/rank)*year"\} `
+ #
+ # For information about the variables, operators, and functions you can
+ # use in expressions, see [Writing Expressions][1] in the *Amazon
+ # CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/configuring-expressions.html#writing-expressions
+ #
+ # @option params [String] :facet
+ # Specifies one or more fields for which to get facet information, and
+ # options that control how the facet information is returned. Each
+ # specified field must be facet-enabled in the domain configuration. The
+ # fields and options are specified in JSON using the form
+ # `\{"FIELD":\{"OPTION":VALUE,"OPTION:"STRING"\},"FIELD":\{"OPTION":VALUE,"OPTION":"STRING"\}\}`.
+ #
+ # You can specify the following faceting options:
+ #
+ # * `buckets` specifies an array of the facet values or ranges to count.
+ # Ranges are specified using the same syntax that you use to search
+ # for a range of values. For more information, see [ Searching for a
+ # Range of Values][1] in the *Amazon CloudSearch Developer Guide*.
+ # Buckets are returned in the order they are specified in the request.
+ # The `sort` and `size` options are not valid if you specify
+ # `buckets`.
+ #
+ # * `size` specifies the maximum number of facets to include in the
+ # results. By default, Amazon CloudSearch returns counts for the top
+ # 10. The `size` parameter is only valid when you specify the `sort`
+ # option; it cannot be used in conjunction with `buckets`.
+ #
+ # * `sort` specifies how you want to sort the facets in the results:
+ # `bucket` or `count`. Specify `bucket` to sort alphabetically or
+ # numerically by facet value (in ascending order). Specify `count` to
+ # sort by the facet counts computed for each facet value (in
+ # descending order). To retrieve facet counts for particular values or
+ # ranges of values, use the `buckets` option instead of `sort`.
+ #
+ # If no facet options are specified, facet counts are computed for all
+ # field values, the facets are sorted by facet count, and the top 10
+ # facets are returned in the results.
+ #
+ # To count particular buckets of values, use the `buckets` option. For
+ # example, the following request uses the `buckets` option to calculate
+ # and return facet counts by decade.
+ #
+ # `
+ # \{"year":\{"buckets":["[1970,1979]","[1980,1989]","[1990,1999]","[2000,2009]","[2010,\}"]\}\}
+ # `
+ #
+ # To sort facets by facet count, use the `count` option. For example,
+ # the following request sets the `sort` option to `count` to sort the
+ # facet values by facet count, with the facet values that have the most
+ # matching documents listed first. Setting the `size` option to 3
+ # returns only the top three facet values.
+ #
+ # ` \{"year":\{"sort":"count","size":3\}\} `
+ #
+ # To sort the facets by value, use the `bucket` option. For example, the
+ # following request sets the `sort` option to `bucket` to sort the facet
+ # values numerically by year, with earliest year listed first.
+ #
+ # ` \{"year":\{"sort":"bucket"\}\} `
+ #
+ # For more information, see [Getting and Using Facet Information][2] in
+ # the *Amazon CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-ranges.html
+ # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/faceting.html
+ #
+ # @option params [String] :filter_query
+ # Specifies a structured query that filters the results of a search
+ # without affecting how the results are scored and sorted. You use
+ # `filterQuery` in conjunction with the `query` parameter to filter the
+ # documents that match the constraints specified in the `query`
+ # parameter. Specifying a filter controls only which matching documents
+ # are included in the results, it has no effect on how they are scored
+ # and sorted. The `filterQuery` parameter supports the full structured
+ # query syntax.
+ #
+ # For more information about using filters, see [Filtering Matching
+ # Documents][1] in the *Amazon CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/filtering-results.html
+ #
+ # @option params [String] :highlight
+ # Retrieves highlights for matches in the specified `text` or
+ # `text-array` fields. Each specified field must be highlight enabled in
+ # the domain configuration. The fields and options are specified in JSON
+ # using the form
+ # `\{"FIELD":\{"OPTION":VALUE,"OPTION:"STRING"\},"FIELD":\{"OPTION":VALUE,"OPTION":"STRING"\}\}`.
+ #
+ # You can specify the following highlight options:
+ #
+ # * `format`\: specifies the format of the data in the text field:
+ # `text` or `html`. When data is returned as HTML, all
+ # non-alphanumeric characters are encoded. The default is `html`.
+ # * `max_phrases`\: specifies the maximum number of occurrences of the
+ # search term(s) you want to highlight. By default, the first
+ # occurrence is highlighted.
+ # * `pre_tag`\: specifies the string to prepend to an occurrence of a
+ # search term. The default for HTML highlights is `<em>`. The
+ # default for text highlights is `*`.
+ # * `post_tag`\: specifies the string to append to an occurrence of a
+ # search term. The default for HTML highlights is `</em>`. The
+ # default for text highlights is `*`.
+ #
+ # If no highlight options are specified for a field, the returned field
+ # text is treated as HTML and the first match is highlighted with
+ # emphasis tags: `<em>search-term</em>`.
+ #
+ # For example, the following request retrieves highlights for the
+ # `actors` and `title` fields.
+ #
+ # `\{ "actors": \{\}, "title": \{"format": "text","max_phrases":
+ # 2,"pre_tag": "","post_tag": ""\} \}`
+ #
+ # @option params [Boolean] :partial
+ # Enables partial results to be returned if one or more index partitions
+ # are unavailable. When your search index is partitioned across multiple
+ # search instances, by default Amazon CloudSearch only returns results
+ # if every partition can be queried. This means that the failure of a
+ # single search instance can result in 5xx (internal server) errors.
+ # When you enable partial results, Amazon CloudSearch returns whatever
+ # results are available and includes the percentage of documents
+ # searched in the search results (percent-searched). This enables you to
+ # more gracefully degrade your users' search experience. For example,
+ # rather than displaying no results, you could display the partial
+ # results and a message indicating that the results might be incomplete
+ # due to a temporary system outage.
+ #
+ # @option params [required, String] :query
+ # Specifies the search criteria for the request. How you specify the
+ # search criteria depends on the query parser used for the request and
+ # the parser options specified in the `queryOptions` parameter. By
+ # default, the `simple` query parser is used to process requests. To use
+ # the `structured`, `lucene`, or `dismax` query parser, you must also
+ # specify the `queryParser` parameter.
+ #
+ # For more information about specifying search criteria, see [Searching
+ # Your Data][1] in the *Amazon CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching.html
+ #
+ # @option params [String] :query_options
+ # Configures options for the query parser specified in the `queryParser`
+ # parameter. You specify the options in JSON using the following form
+ # `\{"OPTION1":"VALUE1","OPTION2":VALUE2"..."OPTIONN":"VALUEN"\}.`
+ #
+ # The options you can configure vary according to which parser you use:
+ #
+ # * `defaultOperator`\: The default operator used to combine individual
+ # terms in the search string. For example: `defaultOperator: 'or'`.
+ # For the `dismax` parser, you specify a percentage that represents
+ # the percentage of terms in the search string (rounded down) that
+ # must match, rather than a default operator. A value of `0%` is the
+ # equivalent to OR, and a value of `100%` is equivalent to AND. The
+ # percentage must be specified as a value in the range 0-100 followed
+ # by the percent (%) symbol. For example, `defaultOperator: 50%`.
+ # Valid values: `and`, `or`, a percentage in the range 0%-100%
+ # (`dismax`). Default: `and` (`simple`, `structured`, `lucene`) or
+ # `100` (`dismax`). Valid for: `simple`, `structured`, `lucene`, and
+ # `dismax`.
+ # * `fields`\: An array of the fields to search when no fields are
+ # specified in a search. If no fields are specified in a search and
+ # this option is not specified, all text and text-array fields are
+ # searched. You can specify a weight for each field to control the
+ # relative importance of each field when Amazon CloudSearch calculates
+ # relevance scores. To specify a field weight, append a caret (`^`)
+ # symbol and the weight to the field name. For example, to boost the
+ # importance of the `title` field over the `description` field you
+ # could specify: `"fields":["title^5","description"]`. Valid values:
+ # The name of any configured field and an optional numeric value
+ # greater than zero. Default: All `text` and `text-array` fields.
+ # Valid for: `simple`, `structured`, `lucene`, and `dismax`.
+ # * `operators`\: An array of the operators or special characters you
+ # want to disable for the simple query parser. If you disable the
+ # `and`, `or`, or `not` operators, the corresponding operators (`+`,
+ # `|`, `-`) have no special meaning and are dropped from the search
+ # string. Similarly, disabling `prefix` disables the wildcard operator
+ # (`*`) and disabling `phrase` disables the ability to search for
+ # phrases by enclosing phrases in double quotes. Disabling precedence
+ # disables the ability to control order of precedence using
+ # parentheses. Disabling `near` disables the ability to use the ~
+ # operator to perform a sloppy phrase search. Disabling the `fuzzy`
+ # operator disables the ability to use the ~ operator to perform a
+ # fuzzy search. `escape` disables the ability to use a backslash (``)
+ # to escape special characters within the search string. Disabling
+ # whitespace is an advanced option that prevents the parser from
+ # tokenizing on whitespace, which can be useful for Vietnamese. (It
+ # prevents Vietnamese words from being split incorrectly.) For
+ # example, you could disable all operators other than the phrase
+ # operator to support just simple term and phrase queries:
+ # `"operators":["and","not","or", "prefix"]`. Valid values: `and`,
+ # `escape`, `fuzzy`, `near`, `not`, `or`, `phrase`, `precedence`,
+ # `prefix`, `whitespace`. Default: All operators and special
+ # characters are enabled. Valid for: `simple`.
+ # * `phraseFields`\: An array of the `text` or `text-array` fields you
+ # want to use for phrase searches. When the terms in the search string
+ # appear in close proximity within a field, the field scores higher.
+ # You can specify a weight for each field to boost that score. The
+ # `phraseSlop` option controls how much the matches can deviate from
+ # the search string and still be boosted. To specify a field weight,
+ # append a caret (`^`) symbol and the weight to the field name. For
+ # example, to boost phrase matches in the `title` field over the
+ # `abstract` field, you could specify: `"phraseFields":["title^3",
+ # "plot"]` Valid values: The name of any `text` or `text-array` field
+ # and an optional numeric value greater than zero. Default: No fields.
+ # If you don't specify any fields with `phraseFields`, proximity
+ # scoring is disabled even if `phraseSlop` is specified. Valid for:
+ # `dismax`.
+ # * `phraseSlop`\: An integer value that specifies how much matches can
+ # deviate from the search phrase and still be boosted according to the
+ # weights specified in the `phraseFields` option; for example,
+ # `phraseSlop: 2`. You must also specify `phraseFields` to enable
+ # proximity scoring. Valid values: positive integers. Default: 0.
+ # Valid for: `dismax`.
+ # * `explicitPhraseSlop`\: An integer value that specifies how much a
+ # match can deviate from the search phrase when the phrase is enclosed
+ # in double quotes in the search string. (Phrases that exceed this
+ # proximity distance are not considered a match.) For example, to
+ # specify a slop of three for dismax phrase queries, you would specify
+ # `"explicitPhraseSlop":3`. Valid values: positive integers. Default:
+ # 0. Valid for: `dismax`.
+ # * `tieBreaker`\: When a term in the search string is found in a
+ # document's field, a score is calculated for that field based on how
+ # common the word is in that field compared to other documents. If the
+ # term occurs in multiple fields within a document, by default only
+ # the highest scoring field contributes to the document's overall
+ # score. You can specify a `tieBreaker` value to enable the matches in
+ # lower-scoring fields to contribute to the document's score. That
+ # way, if two documents have the same max field score for a particular
+ # term, the score for the document that has matches in more fields
+ # will be higher. The formula for calculating the score with a
+ # tieBreaker is `(max field score) + (tieBreaker) * (sum of the scores
+ # for the rest of the matching fields)`. Set `tieBreaker` to 0 to
+ # disregard all but the highest scoring field (pure max):
+ # `"tieBreaker":0`. Set to 1 to sum the scores from all fields (pure
+ # sum): `"tieBreaker":1`. Valid values: 0.0 to 1.0. Default: 0.0.
+ # Valid for: `dismax`.
+ #
+ # @option params [String] :query_parser
+ # Specifies which query parser to use to process the request. If
+ # `queryParser` is not specified, Amazon CloudSearch uses the `simple`
+ # query parser.
+ #
+ # Amazon CloudSearch supports four query parsers:
+ #
+ # * `simple`\: perform simple searches of `text` and `text-array`
+ # fields. By default, the `simple` query parser searches all `text`
+ # and `text-array` fields. You can specify which fields to search by
+ # with the `queryOptions` parameter. If you prefix a search term with
+ # a plus sign (+) documents must contain the term to be considered a
+ # match. (This is the default, unless you configure the default
+ # operator with the `queryOptions` parameter.) You can use the `-`
+ # (NOT), `|` (OR), and `*` (wildcard) operators to exclude particular
+ # terms, find results that match any of the specified terms, or search
+ # for a prefix. To search for a phrase rather than individual terms,
+ # enclose the phrase in double quotes. For more information, see
+ # [Searching for Text][1] in the *Amazon CloudSearch Developer Guide*.
+ # * `structured`\: perform advanced searches by combining multiple
+ # expressions to define the search criteria. You can also search
+ # within particular fields, search for values and ranges of values,
+ # and use advanced options such as term boosting, `matchall`, and
+ # `near`. For more information, see [Constructing Compound Queries][2]
+ # in the *Amazon CloudSearch Developer Guide*.
+ # * `lucene`\: search using the Apache Lucene query parser syntax. For
+ # more information, see [Apache Lucene Query Parser Syntax][3].
+ # * `dismax`\: search using the simplified subset of the Apache Lucene
+ # query parser syntax defined by the DisMax query parser. For more
+ # information, see [DisMax Query Parser Syntax][4].
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-text.html
+ # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/searching-compound-queries.html
+ # [3]: http://lucene.apache.org/core/4_6_0/queryparser/org/apache/lucene/queryparser/classic/package-summary.html#package_description
+ # [4]: http://wiki.apache.org/solr/DisMaxQParserPlugin#Query_Syntax
+ #
+ # @option params [String] :return
+ # Specifies the field and expression values to include in the response.
+ # Multiple fields or expressions are specified as a comma-separated
+ # list. By default, a search response includes all return enabled fields
+ # (`_all_fields`). To return only the document IDs for the matching
+ # documents, specify `_no_fields`. To retrieve the relevance score
+ # calculated for each document, specify `_score`.
+ #
+ # @option params [Integer] :size
+ # Specifies the maximum number of search hits to include in the
+ # response.
+ #
+ # @option params [String] :sort
+ # Specifies the fields or custom expressions to use to sort the search
+ # results. Multiple fields or expressions are specified as a
+ # comma-separated list. You must specify the sort direction (`asc` or
+ # `desc`) for each field; for example, `year desc,title asc`. To use a
+ # field to sort results, the field must be sort-enabled in the domain
+ # configuration. Array type fields cannot be used for sorting. If no
+ # `sort` parameter is specified, results are sorted by their default
+ # relevance scores in descending order: `_score desc`. You can also sort
+ # by document ID (`_id asc`) and version (`_version desc`).
+ #
+ # For more information, see [Sorting Results][1] in the *Amazon
+ # CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/sorting-results.html
+ #
+ # @option params [Integer] :start
+ # Specifies the offset of the first search hit you want to return. Note
+ # that the result set is zero-based; the first result is at index 0. You
+ # can specify either the `start` or `cursor` parameter in a request,
+ # they are mutually exclusive.
+ #
+ # For more information, see [Paginating Results][1] in the *Amazon
+ # CloudSearch Developer Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/paginating-results.html
+ #
+ # @option params [String] :stats
+ # Specifies one or more fields for which to get statistics information.
+ # Each specified field must be facet-enabled in the domain
+ # configuration. The fields are specified in JSON using the form:
+ #
+ # `\{"FIELD-A":\{\},"FIELD-B":\{\}\}` There are currently no options supported for statistics.
+ #
+ # @return [Types::SearchResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::SearchResponse#status #status} => Types::SearchStatus
+ # * {Types::SearchResponse#hits #hits} => Types::Hits
+ # * {Types::SearchResponse#facets #facets} => Hash<String,Types::BucketInfo>
+ # * {Types::SearchResponse#stats #stats} => Hash<String,Types::FieldStats>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.search({
+ # cursor: "Cursor",
+ # expr: "Expr",
+ # facet: "Facet",
+ # filter_query: "FilterQuery",
+ # highlight: "Highlight",
+ # partial: false,
+ # query: "Query", # required
+ # query_options: "QueryOptions",
+ # query_parser: "simple", # accepts simple, structured, lucene, dismax
+ # return: "Return",
+ # size: 1,
+ # sort: "Sort",
+ # start: 1,
+ # stats: "Stat",
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.status.timems #=> Integer
+ # resp.status.rid #=> String
+ # resp.hits.found #=> Integer
+ # resp.hits.start #=> Integer
+ # resp.hits.cursor #=> String
+ # resp.hits.hit #=> Array
+ # resp.hits.hit[0].id #=> String
+ # resp.hits.hit[0].fields #=> Hash
+ # resp.hits.hit[0].fields["String"] #=> Array
+ # resp.hits.hit[0].fields["String"][0] #=> String
+ # resp.hits.hit[0].exprs #=> Hash
+ # resp.hits.hit[0].exprs["String"] #=> String
+ # resp.hits.hit[0].highlights #=> Hash
+ # resp.hits.hit[0].highlights["String"] #=> String
+ # resp.facets #=> Hash
+ # resp.facets["String"].buckets #=> Array
+ # resp.facets["String"].buckets[0].value #=> String
+ # resp.facets["String"].buckets[0].count #=> Integer
+ # resp.stats #=> Hash
+ # resp.stats["String"].min #=> String
+ # resp.stats["String"].max #=> String
+ # resp.stats["String"].count #=> Integer
+ # resp.stats["String"].missing #=> Integer
+ # resp.stats["String"].sum #=> Float
+ # resp.stats["String"].sum_of_squares #=> Float
+ # resp.stats["String"].mean #=> String
+ # resp.stats["String"].stddev #=> Float
+ #
+ # @overload search(params = {})
+ # @param [Hash] params ({})
+ def search(params = {}, options = {})
+ req = build_request(:search, params)
+ req.send_request(options)
+ end
- # 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][1] 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.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html
- # @option params [required, String] :query
- # Specifies the string for which you want to get suggestions.
- # @option params [required, String] :suggester
- # Specifies the name of the suggester to use to find suggested matches.
- # @option params [Integer] :size
- # Specifies the maximum number of suggestions to return.
- # @return [Types::SuggestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
- #
- # * {Types::SuggestResponse#status #status} => Types::SuggestStatus
- # * {Types::SuggestResponse#suggest #suggest} => Types::SuggestModel
- #
- # @example Request syntax with placeholder values
- # resp = client.suggest({
- # query: "Query", # required
- # suggester: "Suggester", # required
- # size: 1,
- # })
- #
- # @example Response structure
- # resp.status.timems #=> Integer
- # resp.status.rid #=> String
- # resp.suggest.query #=> String
- # resp.suggest.found #=> Integer
- # resp.suggest.suggestions #=> Array
- # resp.suggest.suggestions[0].suggestion #=> String
- # resp.suggest.suggestions[0].score #=> Integer
- # resp.suggest.suggestions[0].id #=> String
- # @overload suggest(params = {})
- # @param [Hash] params ({})
- def suggest(params = {}, options = {})
- req = build_request(:suggest, params)
- req.send_request(options)
- end
+ # 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][1] 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.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/getting-suggestions.html
+ #
+ # @option params [required, String] :query
+ # Specifies the string for which you want to get suggestions.
+ #
+ # @option params [required, String] :suggester
+ # Specifies the name of the suggester to use to find suggested matches.
+ #
+ # @option params [Integer] :size
+ # Specifies the maximum number of suggestions to return.
+ #
+ # @return [Types::SuggestResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::SuggestResponse#status #status} => Types::SuggestStatus
+ # * {Types::SuggestResponse#suggest #suggest} => Types::SuggestModel
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.suggest({
+ # query: "Query", # required
+ # suggester: "Suggester", # required
+ # size: 1,
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.status.timems #=> Integer
+ # resp.status.rid #=> String
+ # resp.suggest.query #=> String
+ # resp.suggest.found #=> Integer
+ # resp.suggest.suggestions #=> Array
+ # resp.suggest.suggestions[0].suggestion #=> String
+ # resp.suggest.suggestions[0].score #=> Integer
+ # resp.suggest.suggestions[0].id #=> String
+ #
+ # @overload suggest(params = {})
+ # @param [Hash] params ({})
+ def suggest(params = {}, options = {})
+ req = build_request(:suggest, params)
+ req.send_request(options)
+ end
- # 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][1] in the *Amazon CloudSearch
- # Developer Guide*. For more information about uploading data for
- # indexing, see [Uploading Data][2] in the *Amazon CloudSearch Developer
- # Guide*.
- #
- #
- #
- # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/preparing-data.html
- # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/uploading-data.html
- # @option params [required, String, IO] :documents
- # A batch of documents formatted in JSON or HTML.
- # @option params [required, String] :content_type
- # The format of the batch you are uploading. Amazon CloudSearch supports
- # two document batch formats:
- #
- # * application/json
- # * application/xml
- # @return [Types::UploadDocumentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
- #
- # * {Types::UploadDocumentsResponse#status #status} => String
- # * {Types::UploadDocumentsResponse#adds #adds} => Integer
- # * {Types::UploadDocumentsResponse#deletes #deletes} => Integer
- # * {Types::UploadDocumentsResponse#warnings #warnings} => Array<Types::DocumentServiceWarning>
- #
- # @example Request syntax with placeholder values
- # resp = client.upload_documents({
- # documents: "data", # required
- # content_type: "application/json", # required, accepts application/json, application/xml
- # })
- #
- # @example Response structure
- # resp.status #=> String
- # resp.adds #=> Integer
- # resp.deletes #=> Integer
- # resp.warnings #=> Array
- # resp.warnings[0].message #=> String
- # @overload upload_documents(params = {})
- # @param [Hash] params ({})
- def upload_documents(params = {}, options = {})
- req = build_request(:upload_documents, params)
- req.send_request(options)
- end
+ # 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][1] in the *Amazon CloudSearch
+ # Developer Guide*. For more information about uploading data for
+ # indexing, see [Uploading Data][2] in the *Amazon CloudSearch Developer
+ # Guide*.
+ #
+ #
+ #
+ # [1]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/preparing-data.html
+ # [2]: http://docs.aws.amazon.com/cloudsearch/latest/developerguide/uploading-data.html
+ #
+ # @option params [required, String, IO] :documents
+ # A batch of documents formatted in JSON or HTML.
+ #
+ # @option params [required, String] :content_type
+ # The format of the batch you are uploading. Amazon CloudSearch supports
+ # two document batch formats:
+ #
+ # * application/json
+ # * application/xml
+ #
+ # @return [Types::UploadDocumentsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
+ #
+ # * {Types::UploadDocumentsResponse#status #status} => String
+ # * {Types::UploadDocumentsResponse#adds #adds} => Integer
+ # * {Types::UploadDocumentsResponse#deletes #deletes} => Integer
+ # * {Types::UploadDocumentsResponse#warnings #warnings} => Array<Types::DocumentServiceWarning>
+ #
+ # @example Request syntax with placeholder values
+ #
+ # resp = client.upload_documents({
+ # documents: "data", # required
+ # content_type: "application/json", # required, accepts application/json, application/xml
+ # })
+ #
+ # @example Response structure
+ #
+ # resp.status #=> String
+ # resp.adds #=> Integer
+ # resp.deletes #=> Integer
+ # resp.warnings #=> Array
+ # resp.warnings[0].message #=> String
+ #
+ # @overload upload_documents(params = {})
+ # @param [Hash] params ({})
+ def upload_documents(params = {}, options = {})
+ req = build_request(:upload_documents, params)
+ req.send_request(options)
+ end
- # @!endgroup
+ # @!endgroup
- # @param params ({})
- # @api private
- def build_request(operation_name, params = {})
- handlers = @handlers.for(operation_name)
- context = Seahorse::Client::RequestContext.new(
- operation_name: operation_name,
- operation: config.api.operation(operation_name),
- client: self,
- params: params,
- config: config)
- context[:gem_name] = 'aws-sdk-cloudsearchdomain'
- context[:gem_version] = '1.0.0.rc1'
- Seahorse::Client::Request.new(handlers, context)
- end
+ # @param params ({})
+ # @api private
+ def build_request(operation_name, params = {})
+ handlers = @handlers.for(operation_name)
+ context = Seahorse::Client::RequestContext.new(
+ operation_name: operation_name,
+ operation: config.api.operation(operation_name),
+ client: self,
+ params: params,
+ config: config)
+ context[:gem_name] = 'aws-sdk-cloudsearchdomain'
+ context[:gem_version] = '1.0.0.rc2'
+ Seahorse::Client::Request.new(handlers, context)
+ end
- # @api private
- # @deprecated
- def waiter_names
- []
- end
+ # @api private
+ # @deprecated
+ def waiter_names
+ []
+ end
- class << self
+ class << self
- # @api private
- attr_reader :identifier
+ # @api private
+ attr_reader :identifier
- # @api private
- def errors_module
- Errors
- end
-
+ # @api private
+ def errors_module
+ Errors
end
+
end
end
end