DecayRanker
The DecayRanker class extends from the Function class and provides extra parameters.
public class DecayRanker extends CreateCollectionReq.Function
Constructor
This constructor initializes a new DecayRanker instance designed to create a decay ranker instance.
DecayRanker.builder()
.name(String name)
.description(String description)
.functionType(FunctionType functionType)
.inputFieldNames(List<String> inputFieldNames)
.params(Map<String, String> params)
.function(String function)
.origin(Number origin)
.scale(Number scale)
.offset(Number offset)
.decay(Number decay)
.build();
BUILDER METHODS:
-
name(String name)The name of the function. This identifier is used to reference the function within queries and collections.
-
description(String description)A brief description of the function's purpose. This can be useful for documentation or clarity in larger projects and defaults to an empty string.
-
functionType(FunctionType functionType)The type of function for processing raw data. For DecayRanker, set this to
FunctionType.RERANK. -
inputFieldNames(List<String> inputFieldNames)The name of the field containing the raw data that requires conversion to vector representation. For functions using
FunctionType.RERANK, this parameter accepts only one field name. -
params(Map<String, String> params)A set of key-value pairs that configures the function properties.
-
function(String function)The type of decay ranker to create. Possible values are:
gauss,exp, andlinear. -
origin(Number origin)The reference point from which decay score is calculated. Items at this value receive maximum relevance scores. For time-based decay, the time unit must match your collection data.
-
scale(Number scale)The distance or time at which relevance drops to the
decayvalue. Controls how quickly relevance declines. For time-based decay, the time unit must match your collection data. Larger values create a more gradual decline in relevance; smaller values create a steeper decline. -
offset(Number offset)A "no-decay zone" around the
originwhere items maintain full scores (decay score = 1.0).For time-based decay, the time unit must match your collection data.
Items within this range of the
originmaintain maximum relevance. -
decay(Number decay)A score value at the
scaledistance, controls curve steepness. Lower values create steeper decline curves; higher values create more gradual decline curves.Must be between 0 and 1.
RETURN TYPE:
DecayRanker
RETURNS:
A decay ranker instance.
Examples:
import io.milvus.v2.service.collection.request.CreateCollectionReq.Function;
import io.milvus.v2.service.vector.request.ranker.DecayRanker;
import java.util.Collections;
// use the DecayRanker class
DecayRanker.builder()
.function("gauss")
.name("time decay")
.inputFieldNames(Collections.singletonList("timestamp"))
.origin(1000)
.scale(10000)
.offset(24)
.decay(0.5)
.build());
// Instead, you can use the Function class as well
CreateCollectionReq.Function rr = CreateCollectionReq.Function.builder()
.functionType(FunctionType.RERANK)
.name("time_decay")
.description("time decay")
.inputFieldNames(Collections.singletonList("timestamp"))
.param("reranker", "decay")
.param("function", "gauss")
.param("origin", "1000")
.param("scale", "10000")
.param("offset", "24")
.param("decay", "0.5")
.build();