Class ScoreFunctionBuilder<FB extends ScoreFunctionBuilder<FB>>

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

public abstract class ScoreFunctionBuilder<FB extends ScoreFunctionBuilder<FB>>
extends java.lang.Object
implements org.elasticsearch.common.xcontent.ToXContentFragment, NamedWriteable
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.common.xcontent.ToXContent

    org.elasticsearch.common.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.common.xcontent.ToXContent.MapParams, org.elasticsearch.common.xcontent.ToXContent.Params

    Nested classes/interfaces inherited from interface org.elasticsearch.common.io.stream.Writeable

    Writeable.Reader<V>, Writeable.Writer<V>
  • Field Summary

    Fields inherited from interface org.elasticsearch.common.xcontent.ToXContent

    EMPTY_PARAMS
  • Constructor Summary

    Constructors 
    Constructor Description
    ScoreFunctionBuilder()
    Standard empty constructor.
    ScoreFunctionBuilder​(StreamInput in)
    Read from a stream.
  • Method Summary

    Modifier and Type Method Description
    protected abstract boolean doEquals​(FB functionBuilder)
    Check that two instances of the same subclass of ScoreFunctionBuilder are equal.
    protected abstract int doHashCode()
    Hashcode for fields defined in this subclass of ScoreFunctionBuilder.
    protected abstract ScoreFunction doToFunction​(QueryShardContext context)
    Build the Lucene ScoreFunction for this builder.
    protected abstract void doWriteTo​(StreamOutput out)
    Write the subclass's components into the stream.
    protected abstract void doXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)
    Convert this subclass's data into XContent.
    boolean equals​(java.lang.Object obj)  
    abstract java.lang.String getName()
    The name of this score function.
    java.lang.Float getWeight()
    The weight applied to the function before combining.
    java.lang.String getWriteableName()
    Returns the name of the writeable object
    int hashCode()  
    FB setWeight​(float weight)
    Set the weight applied to the function before combining.
    ScoreFunction toFunction​(QueryShardContext context)
    Called on a data node, converts this ScoreFunctionBuilder into its corresponding Lucene function object.
    org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params)  
    void writeTo​(StreamOutput out)
    Write this into the StreamOutput.

    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
  • Constructor Details

  • Method Details

    • writeTo

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

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

      public abstract java.lang.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 java.lang.Float getWeight()
      The weight applied to the function before combining.
    • toXContent

      public final org.elasticsearch.common.xcontent.XContentBuilder toXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException
      Specified by:
      toXContent in interface org.elasticsearch.common.xcontent.ToXContent
      Throws:
      java.io.IOException
    • doXContent

      protected abstract void doXContent​(org.elasticsearch.common.xcontent.XContentBuilder builder, org.elasticsearch.common.xcontent.ToXContent.Params params) throws java.io.IOException
      Convert this subclass's data into XContent.
      Throws:
      java.io.IOException
    • getWriteableName

      public java.lang.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​(java.lang.Object obj)
      Overrides:
      equals in class java.lang.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 java.lang.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​(QueryShardContext context) throws java.io.IOException
      Called on a data node, converts this ScoreFunctionBuilder into its corresponding Lucene function object.
      Throws:
      java.io.IOException
    • doToFunction

      protected abstract ScoreFunction doToFunction​(QueryShardContext context) throws java.io.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:
      java.io.IOException