/*
* 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 Retrieve operation.
/// Retrieves relevant passages or text excerpts given an input query.
///
///
///
/// This API is similar to the Query
/// API. However, by default, the Query
API only returns excerpt passages
/// of up to 100 token words. With the Retrieve
API, you can retrieve longer
/// passages of up to 200 token words and up to 100 semantically relevant passages. This
/// doesn't include question-answer or FAQ type responses from your index. The passages
/// are text excerpts that can be semantically extracted from multiple documents and multiple
/// parts of the same document. If in extreme cases your documents produce no relevant
/// passages using the Retrieve
API, you can alternatively use the Query
/// API.
///
///
///
/// You can also do the following:
///
/// -
///
/// Override boosting at the index level
///
///
-
///
/// Filter based on document fields or attributes
///
///
-
///
/// 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.
///
///
public partial class RetrieveRequest : AmazonKendraRequest
{
private AttributeFilter _attributeFilter;
private List _documentRelevanceOverrideConfigurations = new List();
private string _indexId;
private int? _pageNumber;
private int? _pageSize;
private string _queryText;
private List _requestedDocumentAttributes = new List();
private UserContext _userContext;
///
/// 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 IndexId.
///
/// The identifier of the index to retrieve relevant passages 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.
///
/// Retrieved relevant passages 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 retrieved relevant passages 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 QueryText.
///
/// The input query text to retrieve relevant passages 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.
///
///
[AWSProperty(Required=true)]
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.
///
/// A list of document fields/attributes to include in the response. You can limit the
/// response to include certain document fields. By default, all document fields 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 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;
}
}
}