/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include 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 Also:
AWS
* API Reference
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.
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.
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.
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.
*/ inline int GetImportance() const{ return m_importance; } /** *The relative importance of the field in the search. Larger numbers provide * more of a boost than smaller numbers.
*/ inline bool ImportanceHasBeenSet() const { return m_importanceHasBeenSet; } /** *The relative importance of the field in the search. Larger numbers provide * more of a boost than smaller numbers.
*/ inline void SetImportance(int value) { m_importanceHasBeenSet = true; m_importance = value; } /** *The relative importance of the field in the search. Larger numbers provide * more of a boost than smaller numbers.
*/ inline Relevance& WithImportance(int value) { SetImportance(value); 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
*/ inline const Aws::MapA 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.
*/ inline bool ValueImportanceMapHasBeenSet() const { return m_valueImportanceMapHasBeenSet; } /** *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.
*/ inline void SetValueImportanceMap(const Aws::MapA 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.
*/ inline void SetValueImportanceMap(Aws::MapA 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.
*/ inline Relevance& WithValueImportanceMap(const Aws::MapA 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.
*/ inline Relevance& WithValueImportanceMap(Aws::MapA 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.
*/ inline Relevance& AddValueImportanceMap(const Aws::String& key, int value) { m_valueImportanceMapHasBeenSet = true; m_valueImportanceMap.emplace(key, value); 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.
*/ inline Relevance& AddValueImportanceMap(Aws::String&& key, int value) { m_valueImportanceMapHasBeenSet = true; m_valueImportanceMap.emplace(std::move(key), value); 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.
*/ inline Relevance& AddValueImportanceMap(const char* key, int value) { m_valueImportanceMapHasBeenSet = true; m_valueImportanceMap.emplace(key, value); return *this; } private: bool m_freshness; bool m_freshnessHasBeenSet = false; int m_importance; bool m_importanceHasBeenSet = false; Aws::String m_duration; bool m_durationHasBeenSet = false; Order m_rankOrder; bool m_rankOrderHasBeenSet = false; Aws::Map