summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp11
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp
index 94cec9a63c5..e605f36c87f 100644
--- a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp
@@ -42,6 +42,17 @@ SimpleBlueprint::createLeafSearch(const search::fef::TermFieldMatchDataArray &,
return search;
}
+SearchIterator::UP
+SimpleBlueprint::createFilterSearch(bool strict, FilterConstraint constraint) const
+{
+ SimpleSearch *ss = new SimpleSearch(_result);
+ SearchIterator::UP search(ss);
+ ss->tag(_tag +
+ (strict ? "<strict," : "<nostrict,") +
+ (constraint == FilterConstraint::UPPER_BOUND ? "upper>" : "lower>"));
+ return search;
+}
+
SimpleBlueprint::SimpleBlueprint(const SimpleResult &result)
: SimpleLeafBlueprint(FieldSpecBaseList()),
_tag(),
diff --git a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
index 2dc2d938bb6..b99be4a9353 100644
--- a/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
+++ b/searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h
@@ -34,6 +34,8 @@ private:
protected:
SearchIterator::UP
createLeafSearch(const search::fef::TermFieldMatchDataArray &tfmda, bool strict) const override;
+ SearchIterator::UP
+ createFilterSearch(bool strict, FilterConstraint constraint) const override;
public:
SimpleBlueprint(const SimpleResult &result);