Class RandomScoreFunctionBuilder
- java.lang.Object
-
- org.elasticsearch.index.query.functionscore.ScoreFunctionBuilder<RandomScoreFunctionBuilder>
-
- org.elasticsearch.index.query.functionscore.RandomScoreFunctionBuilder
-
- All Implemented Interfaces:
NamedWriteable,Writeable,ToXContent,ToXContentFragment
public class RandomScoreFunctionBuilder extends ScoreFunctionBuilder<RandomScoreFunctionBuilder>
A function that computes a random score for the matched documents
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent
ToXContent.DelegatingMapParams, ToXContent.MapParams, ToXContent.Params
-
Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable
Writeable.Reader<V>, Writeable.Writer<V>
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNAME-
Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent
EMPTY_PARAMS
-
-
Constructor Summary
Constructors Constructor Description RandomScoreFunctionBuilder()RandomScoreFunctionBuilder(StreamInput in)Read from a stream.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleandoEquals(RandomScoreFunctionBuilder functionBuilder)Check that two instances of the same subclass of ScoreFunctionBuilder are equal.protected intdoHashCode()Hashcode for fields defined in this subclass of ScoreFunctionBuilder.protected ScoreFunctiondoToFunction(QueryShardContext context)Build the Lucene ScoreFunction for this builder.protected voiddoWriteTo(StreamOutput out)Write the subclass's components into the stream.voiddoXContent(XContentBuilder builder, ToXContent.Params params)Convert this subclass's data into XContent.static RandomScoreFunctionBuilderfromXContent(XContentParser parser)java.lang.StringgetField()Get the field to use for random number generation.java.lang.StringgetName()The name of this score function.java.lang.IntegergetSeed()RandomScoreFunctionBuilderseed(int seed)Sets the seed based on which the random number will be generated.RandomScoreFunctionBuilderseed(long seed)seed variant taking a long value.RandomScoreFunctionBuilderseed(java.lang.String seed)seed variant taking a String value.RandomScoreFunctionBuildersetField(java.lang.String field)Set the field to be used for random number generation.-
Methods inherited from class org.elasticsearch.index.query.functionscore.ScoreFunctionBuilder
equals, getWeight, getWriteableName, hashCode, setWeight, toFunction, toXContent, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.elasticsearch.common.xcontent.ToXContentFragment
isFragment
-
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RandomScoreFunctionBuilder
public RandomScoreFunctionBuilder()
-
RandomScoreFunctionBuilder
public RandomScoreFunctionBuilder(StreamInput in) throws java.io.IOException
Read from a stream.- Throws:
java.io.IOException
-
-
Method Detail
-
doWriteTo
protected void doWriteTo(StreamOutput out) throws java.io.IOException
Description copied from class:ScoreFunctionBuilderWrite the subclass's components into the stream.- Specified by:
doWriteToin classScoreFunctionBuilder<RandomScoreFunctionBuilder>- Throws:
java.io.IOException
-
getName
public java.lang.String getName()
Description copied from class:ScoreFunctionBuilderThe name of this score function.- Specified by:
getNamein classScoreFunctionBuilder<RandomScoreFunctionBuilder>
-
seed
public RandomScoreFunctionBuilder seed(int seed)
Sets the seed based on which the random number will be generated. Using the same seed is guaranteed to generate the same random number for a specific doc.- Parameters:
seed- The seed.
-
seed
public RandomScoreFunctionBuilder seed(long seed)
seed variant taking a long value.- See Also:
seed(int)
-
seed
public RandomScoreFunctionBuilder seed(java.lang.String seed)
seed variant taking a String value.- See Also:
seed(int)
-
getSeed
public java.lang.Integer getSeed()
-
setField
public RandomScoreFunctionBuilder setField(java.lang.String field)
Set the field to be used for random number generation. This parameter is compulsory when aseedis set and ignored otherwise. Note that documents that have the same value for a field will get the same score.
-
getField
public java.lang.String getField()
Get the field to use for random number generation.- See Also:
setField(String)
-
doXContent
public void doXContent(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
Description copied from class:ScoreFunctionBuilderConvert this subclass's data into XContent.- Specified by:
doXContentin classScoreFunctionBuilder<RandomScoreFunctionBuilder>- Throws:
java.io.IOException
-
doEquals
protected boolean doEquals(RandomScoreFunctionBuilder functionBuilder)
Description copied from class:ScoreFunctionBuilderCheck that two instances of the same subclass of ScoreFunctionBuilder are equal. Implementers don't need to check any fields in ScoreFunctionBuilder, just fields that they define.- Specified by:
doEqualsin classScoreFunctionBuilder<RandomScoreFunctionBuilder>
-
doHashCode
protected int doHashCode()
Description copied from class:ScoreFunctionBuilderHashcode for fields defined in this subclass of ScoreFunctionBuilder. Implementers should ignore fields defined in ScoreFunctionBuilder because they will already be in the hashCode.- Specified by:
doHashCodein classScoreFunctionBuilder<RandomScoreFunctionBuilder>
-
doToFunction
protected ScoreFunction doToFunction(QueryShardContext context)
Description copied from class:ScoreFunctionBuilderBuild the Lucene ScoreFunction for this builder. Implementers should ignore things defined in ScoreFunctionBuilder like weight as they will be handled by the function that calls this one.- Specified by:
doToFunctionin classScoreFunctionBuilder<RandomScoreFunctionBuilder>
-
fromXContent
public static RandomScoreFunctionBuilder fromXContent(XContentParser parser) throws java.io.IOException, ParsingException
- Throws:
java.io.IOExceptionParsingException
-
-