diff options
Diffstat (limited to 'searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp')
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp index 993639becf2..6faa4ddf147 100644 --- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp @@ -300,14 +300,10 @@ AndBlueprint::createFilterSearch(bool strict, FilterConstraint constraint) const return create_and_filter(get_children(), strict, constraint); } -double -AndBlueprint::computeNextHitRate(const Blueprint & child, double hit_rate) const { - return hit_rate * child.estimate(); -} - -double -OrBlueprint::computeNextHitRate(const Blueprint & child, double hit_rate) const { - return hit_rate * (1.0 - child.estimate()); +FlowCalc +AndBlueprint::make_flow_calc(bool strict, double flow) const +{ + return flow_calc<AndFlow>(strict, flow); } //----------------------------------------------------------------------------- @@ -404,6 +400,12 @@ OrBlueprint::createFilterSearch(bool strict, FilterConstraint constraint) const return create_or_filter(get_children(), strict, constraint); } +FlowCalc +OrBlueprint::make_flow_calc(bool strict, double flow) const +{ + return flow_calc<OrFlow>(strict, flow); +} + uint8_t OrBlueprint::calculate_cost_tier() const { |