class Aws::Kendra::Types::QueryRequest

@note When making an API call, you may pass QueryRequest

data as a hash:

    {
      index_id: "IndexId", # required
      query_text: "QueryText", # required
      attribute_filter: {
        and_all_filters: [
          {
            # recursive AttributeFilter
          },
        ],
        or_all_filters: [
          {
            # recursive AttributeFilter
          },
        ],
        not_filter: {
          # recursive AttributeFilter
        },
        equals_to: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        contains_all: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        contains_any: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        greater_than: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        greater_than_or_equals: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        less_than: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
        less_than_or_equals: {
          key: "DocumentAttributeKey", # required
          value: { # required
            string_value: "DocumentAttributeStringValue",
            string_list_value: ["String"],
            long_value: 1,
            date_value: Time.now,
          },
        },
      },
      facets: [
        {
          document_attribute_key: "DocumentAttributeKey",
        },
      ],
      requested_document_attributes: ["DocumentAttributeKey"],
      query_result_type_filter: "DOCUMENT", # accepts DOCUMENT, QUESTION_ANSWER, ANSWER
      document_relevance_override_configurations: [
        {
          name: "DocumentMetadataConfigurationName", # required
          relevance: { # required
            freshness: false,
            importance: 1,
            duration: "Duration",
            rank_order: "ASCENDING", # accepts ASCENDING, DESCENDING
            value_importance_map: {
              "ValueImportanceMapKey" => 1,
            },
          },
        },
      ],
      page_number: 1,
      page_size: 1,
      sorting_configuration: {
        document_attribute_key: "DocumentAttributeKey", # required
        sort_order: "DESC", # required, accepts DESC, ASC
      },
      user_context: {
        token: "Token",
        user_id: "PrincipalName",
        groups: ["PrincipalName"],
        data_source_groups: [
          {
            group_id: "PrincipalName", # required
            data_source_id: "DataSourceId", # required
          },
        ],
      },
      visitor_id: "VisitorId",
    }

@!attribute [rw] index_id

The unique identifier of the index to search. The identifier is
returned in the response from the `CreateIndex` operation.
@return [String]

@!attribute [rw] query_text

The text to search for.
@return [String]

@!attribute [rw] attribute_filter

Enables filtered searches based on document attributes. You can only
provide one attribute filter; however, the `AndAllFilters`,
`NotFilter`, and `OrAllFilters` parameters contain a list of other
filters.

The `AttributeFilter` parameter enables you to create a set of
filtering rules that a document must satisfy to be included in the
query results.
@return [Types::AttributeFilter]

@!attribute [rw] facets

An array of documents attributes. Amazon Kendra returns a count for
each attribute key specified. You can use this information to help
narrow the search for your user.
@return [Array<Types::Facet>]

@!attribute [rw] requested_document_attributes

An array of document attributes to include in the response. No other
document attributes are included in the response. By default all
document attributes are included in the response.
@return [Array<String>]

@!attribute [rw] query_result_type_filter

Sets the type of query. Only results for the specified query type
are returned.
@return [String]

@!attribute [rw] document_relevance_override_configurations

Overrides relevance tuning configurations of fields or attributes
set at the index level.

If you use this API to override the relevance tuning configured at
the index level, but there is no relevance tuning configured at the
index level, then Amazon Kendra does not apply any relevance tuning.

If there is relevance tuning configured at the index level, but you
do not use this API to override any relevance tuning in the index,
then Amazon Kendra uses the relevance tuning that is configured at
the index level.

If there is relevance tuning configured for fields at the index
level, but you use this API to override only some of these fields,
then for the fields you did not override, the importance is set to
1.
@return [Array<Types::DocumentRelevanceConfiguration>]

@!attribute [rw] page_number

Query results are returned in pages the size of the `PageSize`
parameter. By default, Amazon Kendra returns the first page of
results. Use this parameter to get result pages after the first one.
@return [Integer]

@!attribute [rw] page_size

Sets the number of results that are returned in each page of
results. The default page size is 10. The maximum number of results
returned is 100. If you ask for more than 100 results, only 100 are
returned.
@return [Integer]

@!attribute [rw] sorting_configuration

Provides information that determines how the results of the query
are sorted. You can set the field that Amazon Kendra should sort the
results on, and specify whether the results should be sorted in
ascending or descending order. In the case of ties in sorting the
results, the results are sorted by relevance.

If you don't provide sorting configuration, the results are sorted
by the relevance that Amazon Kendra determines for the result.
@return [Types::SortingConfiguration]

@!attribute [rw] user_context

The user context token.
@return [Types::UserContext]

@!attribute [rw] visitor_id

Provides an identifier for a specific user. The `VisitorId` should
be a unique identifier, such as a GUID. Don't use personally
identifiable information, such as the user's email address, as the
`VisitorId`.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/QueryRequest AWS API Documentation

Constants

SENSITIVE