Class Relevance
- All Implemented Interfaces:
Serializable
,SdkPojo
,ToCopyableBuilder<Relevance.Builder,
Relevance>
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:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic Relevance.Builder
builder()
final String
duration()
Specifies the time period that the boost applies to.final boolean
final boolean
equalsBySdkFields
(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final Boolean
Indicates that this field determines how "fresh" a document is.final <T> Optional
<T> getValueForField
(String fieldName, Class<T> clazz) final int
hashCode()
final boolean
For responses, this returns true if the service returned a value for the ValueImportanceMap property.final Integer
The relative importance of the field in the search.final Order
Determines how values should be interpreted.final String
Determines how values should be interpreted.static Class
<? extends Relevance.Builder> Take this object and create a builder that contains all of the current property values of this object.final String
toString()
Returns a string representation of this object.A list of values that should be given a different boost when they appear in the result list.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
Method Details
-
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. Only applies to
DATE
fields.- Returns:
- 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. Only
applies to
DATE
fields.
-
importance
The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers.
- Returns:
- The relative importance of the field in the search. Larger numbers provide more of a boost than smaller numbers.
-
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.- Returns:
- 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.
-
rankOrder
Determines how values should be interpreted.
When the
RankOrder
field isASCENDING
, 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 isDESCENDING
, 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
fields.If the service returns an enum value that is not available in the current SDK version,
rankOrder
will returnOrder.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrankOrderAsString()
.- Returns:
- Determines how values should be interpreted.
When the
RankOrder
field isASCENDING
, 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 isDESCENDING
, 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
fields. - See Also:
-
rankOrderAsString
Determines how values should be interpreted.
When the
RankOrder
field isASCENDING
, 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 isDESCENDING
, 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
fields.If the service returns an enum value that is not available in the current SDK version,
rankOrder
will returnOrder.UNKNOWN_TO_SDK_VERSION
. The raw value returned by the service is available fromrankOrderAsString()
.- Returns:
- Determines how values should be interpreted.
When the
RankOrder
field isASCENDING
, 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 isDESCENDING
, 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
fields. - See Also:
-
hasValueImportanceMap
public final boolean hasValueImportanceMap()For responses, this returns true if the service returned a value for the ValueImportanceMap property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()
method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified. -
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.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the
hasValueImportanceMap()
method.- Returns:
- 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.
-
toBuilder
Description copied from interface:ToCopyableBuilder
Take this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilder
in interfaceToCopyableBuilder<Relevance.Builder,
Relevance> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
public final int hashCode() -
equals
-
equalsBySdkFields
Description copied from interface:SdkPojo
Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojo
class, and is generated based on a service model.If an
SdkPojo
class does not have any inherited fields,equalsBySdkFields
andequals
are essentially the same.- Specified by:
equalsBySdkFields
in interfaceSdkPojo
- Parameters:
obj
- the object to be compared with- Returns:
- true if the other object equals to this object by sdk fields, false otherwise.
-
toString
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value. -
getValueForField
-
sdkFields
-