diff options
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.cpp | 11 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/leaf_blueprints.h | 2 |
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); |