/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the kendra-2019-02-03.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Kendra.Model { /// /// Container for the parameters to the Query operation. /// Searches an index given an input query. /// /// /// /// You can configure boosting or relevance tuning at the query level to override boosting /// at the index level, filter based on document fields/attributes and faceted search, /// and filter based on the user or their group access to documents. You can also include /// certain fields in the response that might provide useful additional information. /// /// /// /// A query response contains three types of results. /// /// /// /// You can specify that the query return only one type of result using the QueryResultTypeFilter /// parameter. Each query returns the 100 most relevant results. If you filter result /// type to only question-answers, a maximum of four results are returned. If you filter /// result type to only answers, a maximum of three results are returned. /// /// public partial class QueryRequest : AmazonKendraRequest { private AttributeFilter _attributeFilter; private List _documentRelevanceOverrideConfigurations = new List(); private List _facets = new List(); private string _indexId; private int? _pageNumber; private int? _pageSize; private QueryResultType _queryResultTypeFilter; private string _queryText; private List _requestedDocumentAttributes = new List(); private SortingConfiguration _sortingConfiguration; private SpellCorrectionConfiguration _spellCorrectionConfiguration; private UserContext _userContext; private string _visitorId; /// /// Gets and sets the property AttributeFilter. /// /// Filters search results by document fields/attributes. You can only provide one attribute /// filter; however, the AndAllFilters, NotFilter, and OrAllFilters /// parameters contain a list of other filters. /// /// /// /// The AttributeFilter parameter means you can create a set of filtering /// rules that a document must satisfy to be included in the query results. /// /// public AttributeFilter AttributeFilter { get { return this._attributeFilter; } set { this._attributeFilter = value; } } // Check to see if AttributeFilter property is set internal bool IsSetAttributeFilter() { return this._attributeFilter != null; } /// /// Gets and sets the property DocumentRelevanceOverrideConfigurations. /// /// Overrides relevance tuning configurations of fields/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 for fields at the index level, and 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. /// /// [AWSProperty(Min=0, Max=500)] public List DocumentRelevanceOverrideConfigurations { get { return this._documentRelevanceOverrideConfigurations; } set { this._documentRelevanceOverrideConfigurations = value; } } // Check to see if DocumentRelevanceOverrideConfigurations property is set internal bool IsSetDocumentRelevanceOverrideConfigurations() { return this._documentRelevanceOverrideConfigurations != null && this._documentRelevanceOverrideConfigurations.Count > 0; } /// /// Gets and sets the property Facets. /// /// An array of documents fields/attributes for faceted search. Amazon Kendra returns /// a count for each field key specified. This helps your users narrow their search. /// /// public List Facets { get { return this._facets; } set { this._facets = value; } } // Check to see if Facets property is set internal bool IsSetFacets() { return this._facets != null && this._facets.Count > 0; } /// /// Gets and sets the property IndexId. /// /// The identifier of the index for the search. /// /// [AWSProperty(Required=true, Min=36, Max=36)] public string IndexId { get { return this._indexId; } set { this._indexId = value; } } // Check to see if IndexId property is set internal bool IsSetIndexId() { return this._indexId != null; } /// /// Gets and sets the property PageNumber. /// /// 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. /// /// public int PageNumber { get { return this._pageNumber.GetValueOrDefault(); } set { this._pageNumber = value; } } // Check to see if PageNumber property is set internal bool IsSetPageNumber() { return this._pageNumber.HasValue; } /// /// Gets and sets the property PageSize. /// /// 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. /// /// public int PageSize { get { return this._pageSize.GetValueOrDefault(); } set { this._pageSize = value; } } // Check to see if PageSize property is set internal bool IsSetPageSize() { return this._pageSize.HasValue; } /// /// Gets and sets the property QueryResultTypeFilter. /// /// Sets the type of query result or response. Only results for the specified type are /// returned. /// /// public QueryResultType QueryResultTypeFilter { get { return this._queryResultTypeFilter; } set { this._queryResultTypeFilter = value; } } // Check to see if QueryResultTypeFilter property is set internal bool IsSetQueryResultTypeFilter() { return this._queryResultTypeFilter != null; } /// /// Gets and sets the property QueryText. /// /// The input query text for the search. Amazon Kendra truncates queries at 30 token words, /// which excludes punctuation and stop words. Truncation still applies if you use Boolean /// or more advanced, complex queries. /// /// public string QueryText { get { return this._queryText; } set { this._queryText = value; } } // Check to see if QueryText property is set internal bool IsSetQueryText() { return this._queryText != null; } /// /// Gets and sets the property RequestedDocumentAttributes. /// /// An array of document fields/attributes to include in the response. You can limit the /// response to include certain document fields. By default, all document attributes are /// included in the response. /// /// [AWSProperty(Min=1, Max=100)] public List RequestedDocumentAttributes { get { return this._requestedDocumentAttributes; } set { this._requestedDocumentAttributes = value; } } // Check to see if RequestedDocumentAttributes property is set internal bool IsSetRequestedDocumentAttributes() { return this._requestedDocumentAttributes != null && this._requestedDocumentAttributes.Count > 0; } /// /// Gets and sets the property SortingConfiguration. /// /// 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. /// /// public SortingConfiguration SortingConfiguration { get { return this._sortingConfiguration; } set { this._sortingConfiguration = value; } } // Check to see if SortingConfiguration property is set internal bool IsSetSortingConfiguration() { return this._sortingConfiguration != null; } /// /// Gets and sets the property SpellCorrectionConfiguration. /// /// Enables suggested spell corrections for queries. /// /// public SpellCorrectionConfiguration SpellCorrectionConfiguration { get { return this._spellCorrectionConfiguration; } set { this._spellCorrectionConfiguration = value; } } // Check to see if SpellCorrectionConfiguration property is set internal bool IsSetSpellCorrectionConfiguration() { return this._spellCorrectionConfiguration != null; } /// /// Gets and sets the property UserContext. /// /// The user context token or user and group information. /// /// public UserContext UserContext { get { return this._userContext; } set { this._userContext = value; } } // Check to see if UserContext property is set internal bool IsSetUserContext() { return this._userContext != null; } /// /// Gets and sets the property VisitorId. /// /// 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. /// /// [AWSProperty(Min=1, Max=256)] public string VisitorId { get { return this._visitorId; } set { this._visitorId = value; } } // Check to see if VisitorId property is set internal bool IsSetVisitorId() { return this._visitorId != null; } } }