aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/main/java/com/yahoo/searchlib/rankingexpression/evaluation/Optimizer.java
blob: f5417766a0e649e27eb6b249c7b775a8a48f87ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.searchlib.rankingexpression.evaluation;

import com.yahoo.searchlib.rankingexpression.RankingExpression;

/**
 * Superclass of ranking expression optimizers
 *
 * @author bratseth
 */
public abstract class Optimizer {

    private boolean enabled=true;

    /** Sets whether this optimizer is enabled. Default true */
    public void setEnabled(boolean enabled) { this.enabled=enabled; }

    /** Returns whether this is enabled */
    public boolean isEnabled() { return enabled; }

    public abstract void optimize(RankingExpression expression, ContextIndex context, OptimizationReport report);

}