diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-05-28 07:44:52 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-05-28 08:17:00 +0000 |
commit | 18022457c4a6424d7b08eb9ec6d18d42885b8410 (patch) | |
tree | f50cdc1fa770ff1e2d1e5d24b2f4e6d6748e9aa5 /searchlib | |
parent | ce1d1e4a5f6b314f937ce1713b9fee5c21427192 (diff) |
extend SimpleBlueprint: add createFilterSearch that tags iterator
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); |