Class PushDownConjunctionsToKnnPrefilters


public class PushDownConjunctionsToKnnPrefilters extends OptimizerRules.OptimizerRule<Filter>
Rewrites an expression tree to push down conjunctions in the prefilter of Knn functions. knn functions won't contain other knn functions as a prefilter, to avoid circular dependencies. Given an expression tree like (A OR B) AND (C AND knn()) this rule will rewrite it to (A OR B) AND (C AND knn(filterExpressions = [(A OR B), C]))