Namespace Lucene.Net.Expressions
expressions
Expression - result of compiling an expression, which can evaluate it for a given document. Each expression can have external variables are resolved by Bindings.
Bindings - abstraction for binding external variables to a way to get a value for those variables for a particular document (ValueSource).
SimpleBindings - default implementation of bindings which provide easy ways to bind sort fields and other expressions to external variables.
Classes
Bindings
Binds variable names in expressions to actual data.
Expression
Base class that computes the value of an expression for a document.
SimpleBindings
Simple class that binds expression variable names to Lucene.Net.Search.SortFields or other Expressions.
Example usage:SimpleBindings bindings = new SimpleBindings
{
// document's text relevance score
new SortField("_score", SortFieldType.SCORE),
// integer NumericDocValues field (or from FieldCache)
new SortField("popularity", SortFieldType.INT),
// another expression
{ "recency", myRecencyExpression },
};
// create a sort field in reverse order
Sort sort = new Sort(expr.GetSortField(bindings, true));
Note
This API is experimental and might change in incompatible ways in the next release.