/* * 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 { /// /// Provides information for tuning the relevance of a field in a search. When a query /// includes terms that match the field, the results are given a boost in the response /// based on these tuning parameters. /// public partial class Relevance { private string _duration; private bool? _freshness; private int? _importance; private Order _rankOrder; private Dictionary _valueImportanceMap = new Dictionary(); /// /// Gets and sets the property Duration. /// /// Specifies the time period that the boost applies to. For example, to make the boost /// apply to documents with the field value within the last month, you would use "2628000s". /// Once the field value is beyond the specified range, the effect of the boost drops /// off. The higher the importance, the faster the effect drops off. If you don't specify /// a value, the default is 3 months. The value of the field is a numeric string followed /// by the character "s", for example "86400s" for one day, or "604800s" for one week. /// /// /// /// /// Only applies to DATE fields. /// /// [AWSProperty(Min=1, Max=10)] public string Duration { get { return this._duration; } set { this._duration = value; } } // Check to see if Duration property is set internal bool IsSetDuration() { return this._duration != null; } /// /// Gets and sets the property Freshness. /// /// Indicates that this field determines how "fresh" a document is. For example, if document /// 1 was created on November 5, and document 2 was created on October 31, document 1 /// is "fresher" than document 2. You can only set the Freshness field on /// one DATE type field. Only applies to DATE fields. /// /// public bool Freshness { get { return this._freshness.GetValueOrDefault(); } set { this._freshness = value; } } // Check to see if Freshness property is set internal bool IsSetFreshness() { return this._freshness.HasValue; } /// /// Gets and sets the property Importance. /// /// The relative importance of the field in the search. Larger numbers provide more of /// a boost than smaller numbers. /// /// [AWSProperty(Min=1, Max=10)] public int Importance { get { return this._importance.GetValueOrDefault(); } set { this._importance = value; } } // Check to see if Importance property is set internal bool IsSetImportance() { return this._importance.HasValue; } /// /// Gets and sets the property RankOrder. /// /// Determines how values should be interpreted. /// /// /// /// When the RankOrder field is ASCENDING, higher numbers are /// better. For example, a document with a rating score of 10 is higher ranking than a /// document with a rating score of 1. /// /// /// /// When the RankOrder field is DESCENDING, lower numbers are /// better. For example, in a task tracking application, a priority 1 task is more important /// than a priority 5 task. /// /// /// /// Only applies to LONG and DOUBLE fields. /// /// public Order RankOrder { get { return this._rankOrder; } set { this._rankOrder = value; } } // Check to see if RankOrder property is set internal bool IsSetRankOrder() { return this._rankOrder != null; } /// /// Gets and sets the property ValueImportanceMap. /// /// A list of values that should be given a different boost when they appear in the result /// list. For example, if you are boosting a field called "department," query terms that /// match the department field are boosted in the result. However, you can add entries /// from the department field to boost documents with those values higher. /// /// /// /// For example, you can add entries to the map with names of departments. If you add /// "HR",5 and "Legal",3 those departments are given special attention when they appear /// in the metadata of a document. When those terms appear they are given the specified /// importance instead of the regular importance for the boost. /// /// public Dictionary ValueImportanceMap { get { return this._valueImportanceMap; } set { this._valueImportanceMap = value; } } // Check to see if ValueImportanceMap property is set internal bool IsSetValueImportanceMap() { return this._valueImportanceMap != null && this._valueImportanceMap.Count > 0; } } }