Class ScoreFunctionBuilder<FB extends ScoreFunctionBuilder<FB>>

java.lang.Object
org.elasticsearch.index.query.functionscore.ScoreFunctionBuilder<FB>
All Implemented Interfaces:
NamedWriteable, Writeable, ToXContent, ToXContentFragment
Direct Known Subclasses:
DecayFunctionBuilder, FieldValueFactorFunctionBuilder, RandomScoreFunctionBuilder, ScriptScoreFunctionBuilder, WeightBuilder

public abstract class ScoreFunctionBuilder<FB extends ScoreFunctionBuilder<FB>> extends Object implements ToXContentFragment, NamedWriteable
  • Constructor Details

    • ScoreFunctionBuilder

      public ScoreFunctionBuilder()
      Standard empty constructor.
    • ScoreFunctionBuilder

      public ScoreFunctionBuilder(StreamInput in) throws IOException
      Read from a stream.
      Throws:
      IOException
  • Method Details

    • writeTo

      public final void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • doWriteTo

      protected abstract void doWriteTo(StreamOutput out) throws IOException
      Write the subclass's components into the stream.
      Throws:
      IOException
    • getName

      public abstract String getName()
      The name of this score function.
    • setWeight

      public final FB setWeight(float weight)
      Set the weight applied to the function before combining.
    • getWeight

      public final Float getWeight()
      The weight applied to the function before combining.
    • toXContent

      public final XContentBuilder toXContent(XContentBuilder builder, ToXContent.Params params) throws IOException
      Specified by:
      toXContent in interface ToXContent
      Throws:
      IOException
    • doXContent

      protected abstract void doXContent(XContentBuilder builder, ToXContent.Params params) throws IOException
      Convert this subclass's data into XContent.
      Throws:
      IOException
    • getWriteableName

      public String getWriteableName()
      Description copied from interface: NamedWriteable
      Returns the name of the writeable object
      Specified by:
      getWriteableName in interface NamedWriteable
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • doEquals

      protected abstract boolean doEquals(FB functionBuilder)
      Check 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.
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • doHashCode

      protected abstract int doHashCode()
      Hashcode for fields defined in this subclass of ScoreFunctionBuilder. Implementers should ignore fields defined in ScoreFunctionBuilder because they will already be in the hashCode.
    • toFunction

      public final ScoreFunction toFunction(SearchExecutionContext context) throws IOException
      Called on a data node, converts this ScoreFunctionBuilder into its corresponding Lucene function object.
      Throws:
      IOException
    • doToFunction

      protected abstract ScoreFunction doToFunction(SearchExecutionContext context) throws IOException
      Build 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.
      Throws:
      IOException