summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2024-04-12 16:19:01 +0000
committerGeir Storli <geirst@yahooinc.com>2024-04-12 16:27:47 +0000
commit14f1d444144034f1ed4edd511923dba2711dc3da (patch)
tree8ee219c6294b29ba2d8312aa8560685b9a91a170 /searchlib
parent6e92a58cd38fb90e5519080b868dee6b6a9dfe1a (diff)
Adjust cost model params for IN/weightedSet/dotProduct after benchmarking.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/direct_multi_term_blueprint.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/direct_multi_term_blueprint.h b/searchlib/src/vespa/searchlib/attribute/direct_multi_term_blueprint.h
index 1759ca71432..413d0dd0bf4 100644
--- a/searchlib/src/vespa/searchlib/attribute/direct_multi_term_blueprint.h
+++ b/searchlib/src/vespa/searchlib/attribute/direct_multi_term_blueprint.h
@@ -93,8 +93,10 @@ public:
}
};
double est = OrFlow::estimate_of(MyAdapter(docid_limit), _terms);
- return {est, OrFlow::cost_of(MyAdapter(docid_limit), _terms, false),
- OrFlow::cost_of(MyAdapter(docid_limit), _terms, true) + queryeval::flow::heap_cost(est, _terms.size())};
+ // Iterator benchmarking has shown that non-strict cost should be 1.0.
+ // Program: searchlib/src/tests/queryeval/iterator_benchmark
+ // TODO: Add more details, and consider moving constant to flow_tuning.h
+ return {est, 1.0, OrFlow::cost_of(MyAdapter(docid_limit), _terms, true) + queryeval::flow::heap_cost(est, _terms.size())};
}
std::unique_ptr<queryeval::SearchIterator> createLeafSearch(const fef::TermFieldMatchDataArray &tfmda) const override;