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.Builderbuilder()final Stringduration()Specifies the time period that the boost applies to.final booleanfinal booleanequalsBySdkFields(Object obj) Indicates whether some other object is "equal to" this one by SDK fields.final BooleanIndicates that this field determines how "fresh" a document is.final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz) final inthashCode()final booleanFor responses, this returns true if the service returned a value for the ValueImportanceMap property.final IntegerThe relative importance of the field in the search.final OrderDetermines how values should be interpreted.final StringDetermines 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 StringtoString()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
DATEfields.- 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
DATEfields.
-
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
DATEfields.- 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
DATEfields.
-
rankOrder
Determines how values should be interpreted.
When the
RankOrderfield 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
RankOrderfield 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
LONGfields.If the service returns an enum value that is not available in the current SDK version,
rankOrderwill returnOrder.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromrankOrderAsString().- Returns:
- Determines how values should be interpreted.
When the
RankOrderfield 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
RankOrderfield 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
LONGfields. - See Also:
-
rankOrderAsString
Determines how values should be interpreted.
When the
RankOrderfield 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
RankOrderfield 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
LONGfields.If the service returns an enum value that is not available in the current SDK version,
rankOrderwill returnOrder.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available fromrankOrderAsString().- Returns:
- Determines how values should be interpreted.
When the
RankOrderfield 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
RankOrderfield 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
LONGfields. - 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:ToCopyableBuilderTake this object and create a builder that contains all of the current property values of this object.- Specified by:
toBuilderin interfaceToCopyableBuilder<Relevance.Builder,Relevance> - Returns:
- a builder for type T
-
builder
-
serializableBuilderClass
-
hashCode
-
equals
-
equalsBySdkFields
Description copied from interface:SdkPojoIndicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in anSdkPojoclass, and is generated based on a service model.If an
SdkPojoclass does not have any inherited fields,equalsBySdkFieldsandequalsare essentially the same.- Specified by:
equalsBySdkFieldsin 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
-
getValueForField
-
sdkFields
-
sdkFieldNameToField
- Specified by:
sdkFieldNameToFieldin interfaceSdkPojo- Returns:
- The mapping between the field name and its corresponding field.
-