Class SimpleBindings


  • public final class SimpleBindings
    extends Bindings
    Simple class that binds expression variable names to DoubleValuesSources or other Expressions.

    Example usage:

       SimpleBindings bindings = new SimpleBindings();
       // document's text relevance score
       bindings.add("_score", DoubleValuesSource.SCORES);
       // integer NumericDocValues field
       bindings.add("popularity", DoubleValuesSource.fromIntField("popularity"));
       // another expression
       bindings.add("recency", myRecencyExpression);
    
       // create a sort field in reverse order
       Sort sort = new Sort(expr.getSortField(bindings, true));
     
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.String,​java.util.function.Function<Bindings,​DoubleValuesSource>> map  
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleBindings()
      Creates a new empty Bindings
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(java.lang.String name, Expression expression)
      Adds an Expression to the bindings.
      void add​(java.lang.String name, DoubleValuesSource source)
      Bind a DoubleValuesSource directly to the given name.
      DoubleValuesSource getDoubleValuesSource​(java.lang.String name)
      Returns a DoubleValuesSource bound to the variable name
      void validate()
      Traverses the graph of bindings, checking there are no cycles or missing references
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleBindings

        public SimpleBindings()
        Creates a new empty Bindings
    • Method Detail

      • add

        public void add​(java.lang.String name,
                        Expression expression)
        Adds an Expression to the bindings.

        This can be used to reference expressions from other expressions.

      • validate

        public void validate()
        Traverses the graph of bindings, checking there are no cycles or missing references
        Throws:
        java.lang.IllegalArgumentException - if the bindings is inconsistent