summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-06-30 13:17:12 +0200
committerTor Egge <Tor.Egge@broadpark.no>2020-06-30 13:17:12 +0200
commit45a49659d89d66cbf4fe92c323f446a2160673b8 (patch)
treebb136125dad20f5354200992f26ad0610d69b536
parent5852621e03b26d9e10d10a5d94e6d9a55f0e6d53 (diff)
Add filter iterator for weak and blueprint.
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp6
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
index aa65342c114..25a0ed27458 100644
--- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.cpp
@@ -434,6 +434,12 @@ WeakAndBlueprint::createIntermediateSearch(MultiSearch::Children sub_searches,
return WeakAndSearch::create(terms, _n, strict);
}
+SearchIterator::UP
+WeakAndBlueprint::createFilterSearch(bool strict, FilterConstraint constraint) const
+{
+ return create_or_filter(get_children(), strict, constraint);
+}
+
//-----------------------------------------------------------------------------
Blueprint::HitEstimate
diff --git a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
index 6bbe4562641..bc635952d55 100644
--- a/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
+++ b/searchlib/src/vespa/searchlib/queryeval/intermediate_blueprints.h
@@ -92,6 +92,7 @@ public:
SearchIterator::UP
createIntermediateSearch(MultiSearch::Children subSearches,
bool strict, fef::MatchData &md) const override;
+ SearchIterator::UP createFilterSearch(bool strict, FilterConstraint constraint) const override;
WeakAndBlueprint(uint32_t n) : _n(n) {}
~WeakAndBlueprint();