diff options
author | Arne Juul <arnej@verizonmedia.com> | 2020-06-08 13:18:30 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2020-06-08 13:18:30 +0000 |
commit | 89e03bdc39abb44cefd19972734fcd0f00364de2 (patch) | |
tree | ecf307f79d8a4ebb5beaacc32c5ddb149c22b089 /searchlib | |
parent | 72a14d0d27ae7159e426d80f50b6b20983580c31 (diff) |
implement createFilterSearch in MemoryTermBlueprint
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/memoryindex/field_index.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp b/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp index bc74725d620..fecb8116f90 100644 --- a/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp +++ b/searchlib/src/vespa/searchlib/memoryindex/field_index.cpp @@ -6,6 +6,7 @@ #include <vespa/searchlib/bitcompression/posocccompression.h> #include <vespa/searchlib/queryeval/booleanmatchiteratorwrapper.h> #include <vespa/searchlib/queryeval/searchiterator.h> +#include <vespa/searchlib/queryeval/filter_wrapper.h> #include <vespa/vespalib/btree/btree.hpp> #include <vespa/vespalib/btree/btreeiterator.hpp> #include <vespa/vespalib/btree/btreenode.hpp> @@ -272,6 +273,13 @@ public: _field_id, _posting_itr.size()); return result; } + + SearchIterator::UP createFilterSearch(bool, FilterConstraint) const override { + auto wrapper = std::make_unique<queryeval::FilterWrapper>(getState().numFields()); + auto & tfmda = wrapper->tfmda(); + wrapper->wrap(make_search_iterator<interleaved_features>(_posting_itr, _feature_store, _field_id, tfmda)); + return wrapper; + } }; } |