/* * Copyright 2018-2023 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. */ package com.amazonaws.services.kendra.model; import java.io.Serializable; import javax.annotation.Generated; import com.amazonaws.protocol.StructuredPojo; import com.amazonaws.protocol.ProtocolMarshaller; /** *
* 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. *
* * @see AWS API * Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class Relevance implements Serializable, Cloneable, StructuredPojo { /** *
* 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.
*
* The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers. *
*/ private Integer importance; /** ** 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.
*
* 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.
*
* 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. *
*/ private java.util.Map
* 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.
*
Freshness
field on one DATE
type field. Only applies to
* DATE
fields.
*/
public void setFreshness(Boolean freshness) {
this.freshness = 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.
*
Freshness
field on one DATE
type field. Only applies to
* DATE
fields.
*/
public Boolean getFreshness() {
return this.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.
*
Freshness
field on one DATE
type field. Only applies to
* DATE
fields.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Relevance withFreshness(Boolean freshness) {
setFreshness(freshness);
return this;
}
/**
*
* 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.
*
Freshness
field on one DATE
type field. Only applies to
* DATE
fields.
*/
public Boolean isFreshness() {
return this.freshness;
}
/**
* * The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers. *
* * @param importance * The relative importance of the field in the search. Larger numbers provide more of a boost than smaller * numbers. */ public void setImportance(Integer importance) { this.importance = importance; } /** ** The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers. *
* * @return The relative importance of the field in the search. Larger numbers provide more of a boost than smaller * numbers. */ public Integer getImportance() { return this.importance; } /** ** The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers. *
* * @param importance * The relative importance of the field in the search. Larger numbers provide more of a boost than smaller * numbers. * @return Returns a reference to this object so that method calls can be chained together. */ public Relevance withImportance(Integer importance) { setImportance(importance); return this; } /** ** 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.
*
* Only applies to DATE
fields.
*/
public void setDuration(String duration) {
this.duration = 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.
*
* Only applies to DATE
fields.
*/
public String getDuration() {
return this.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.
*
* Only applies to DATE
fields.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Relevance withDuration(String duration) {
setDuration(duration);
return this;
}
/**
*
* 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.
*
* 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.
* @see Order
*/
public void setRankOrder(String rankOrder) {
this.rankOrder = 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.
*
* 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.
* @see Order
*/
public String getRankOrder() {
return this.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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see Order
*/
public Relevance withRankOrder(String rankOrder) {
setRankOrder(rankOrder);
return this;
}
/**
*
* 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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
* @see Order
*/
public Relevance withRankOrder(Order rankOrder) {
this.rankOrder = rankOrder.toString();
return this;
}
/**
*
* 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. *
* * @return 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 java.util.Map
* 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.
*
* 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 void setValueImportanceMap(java.util.Map
* 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.
*
* 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.
* @return Returns a reference to this object so that method calls can be chained together.
*/
public Relevance withValueImportanceMap(java.util.Map