summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@yahooinc.com>2022-09-14 15:30:25 +0000
committerHåvard Pettersen <havardpe@yahooinc.com>2022-09-15 09:46:18 +0000
commit8ed8658a8073da8e1be630907995df24c28ab7a5 (patch)
treee0c0d5a81ff951882af175f103e50b57e3756a00 /searchcore
parent2921bb13d900fbc25aa7d0d248b94e0d87c970df (diff)
multi-threaded global filter creation
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/query.cpp13
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/query.h4
2 files changed, 1 insertions, 16 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/query.cpp b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
index d8951eb1084..599a7989bb9 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/query.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/query.cpp
@@ -261,17 +261,6 @@ Query::handle_global_filter(uint32_t docid_limit, double global_filter_lower_lim
fetchPostings();
}
-std::shared_ptr<GlobalFilter>
-Query::create_global_filter(Blueprint& blueprint, uint32_t docid_limit, vespalib::ThreadBundle &thread_bundle)
-{
- (void) thread_bundle; // multi-threaded filter generation coming soon
- bool strict = true;
- auto constraint = Blueprint::FilterConstraint::UPPER_BOUND;
- auto filter_iterator = blueprint.createFilterSearch(strict, constraint);
- filter_iterator->initRange(1, docid_limit);
- return GlobalFilter::create(filter_iterator->get_hits(1));
-}
-
bool
Query::handle_global_filter(Blueprint& blueprint, uint32_t docid_limit,
double global_filter_lower_limit, double global_filter_upper_limit,
@@ -297,7 +286,7 @@ Query::handle_global_filter(Blueprint& blueprint, uint32_t docid_limit,
trace->addEvent(5, vespalib::make_string("Calculate global filter (estimated_hit_ratio (%f) <= upper_limit (%f))",
estimated_hit_ratio, global_filter_upper_limit));
}
- global_filter = create_global_filter(blueprint, docid_limit, thread_bundle);
+ global_filter = GlobalFilter::create(blueprint, docid_limit, thread_bundle);
} else {
if (trace && trace->shouldTrace(5)) {
trace->addEvent(5, vespalib::make_string("Create match all global filter (estimated_hit_ratio (%f) > upper_limit (%f))",
diff --git a/searchcore/src/vespa/searchcore/proton/matching/query.h b/searchcore/src/vespa/searchcore/proton/matching/query.h
index 1f9499b02d8..596f8019fb3 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/query.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/query.h
@@ -98,10 +98,6 @@ public:
void handle_global_filter(uint32_t docid_limit, double global_filter_lower_limit, double global_filter_upper_limit,
vespalib::ThreadBundle &thread_bundle, search::engine::Trace& trace);
-
- // Create a global filter. Called by handle_global_filter if needed.
- static std::shared_ptr<GlobalFilter> create_global_filter(Blueprint& blueprint, uint32_t docid_limit,
- vespalib::ThreadBundle &thread_bundle);
/**
* Calculates and handles the global filter if needed by the blueprint tree.