aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-06-08 13:18:30 +0000
committerArne Juul <arnej@verizonmedia.com>2020-06-08 13:18:30 +0000
commit89e03bdc39abb44cefd19972734fcd0f00364de2 (patch)
treeecf307f79d8a4ebb5beaacc32c5ddb149c22b089 /searchlib
parent72a14d0d27ae7159e426d80f50b6b20983580c31 (diff)
implement createFilterSearch in MemoryTermBlueprint
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/memoryindex/field_index.cpp8
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;
+ }
};
}