Record Class MMROperator.Factory

java.lang.Object
java.lang.Record
org.elasticsearch.compute.operator.MMROperator.Factory
Record Components:
diversificationField - the name of the diversification field
diversificationFieldChannel - the channel of the diversification field
limit - the total number of results to emit
queryVector - the (optional) query vector data for comparison
lambda - the (optional) lambda value for the MMR diversification
All Implemented Interfaces:
Describable, Operator.OperatorFactory
Enclosing class:
MMROperator

public static record MMROperator.Factory(String diversificationField, int diversificationFieldChannel, int limit, VectorData queryVector, float lambda) extends Record implements Operator.OperatorFactory
Factor creation for the MMR Operator
  • Constructor Details

    • Factory

      public Factory(String diversificationField, int diversificationFieldChannel, int limit, @Nullable VectorData queryVector, float lambda)
      Creates an instance of a Factory record class.
      Parameters:
      diversificationField - the value for the diversificationField record component
      diversificationFieldChannel - the value for the diversificationFieldChannel record component
      limit - the value for the limit record component
      queryVector - the value for the queryVector record component
      lambda - the value for the lambda record component
  • Method Details

    • get

      public Operator get(DriverContext driverContext)
      Description copied from interface: Operator.OperatorFactory
      Creates a new intermediate operator.
      Specified by:
      get in interface Operator.OperatorFactory
    • describe

      public String describe()
      Description copied from interface: Describable
      Returns a description of the component. This description can be more specific than Object::toString.
      Specified by:
      describe in interface Describable
      Returns:
      the description
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • diversificationField

      public String diversificationField()
      Returns the value of the diversificationField record component.
      Returns:
      the value of the diversificationField record component
    • diversificationFieldChannel

      public int diversificationFieldChannel()
      Returns the value of the diversificationFieldChannel record component.
      Returns:
      the value of the diversificationFieldChannel record component
    • limit

      public int limit()
      Returns the value of the limit record component.
      Returns:
      the value of the limit record component
    • queryVector

      @Nullable public VectorData queryVector()
      Returns the value of the queryVector record component.
      Returns:
      the value of the queryVector record component
    • lambda

      public float lambda()
      Returns the value of the lambda record component.
      Returns:
      the value of the lambda record component