diff options
Diffstat (limited to 'searchlib/src/vespa/searchlib/query/streaming/queryterm.h')
-rw-r--r-- | searchlib/src/vespa/searchlib/query/streaming/queryterm.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/searchlib/src/vespa/searchlib/query/streaming/queryterm.h b/searchlib/src/vespa/searchlib/query/streaming/queryterm.h index 1d0454f3b63..e6b063231d6 100644 --- a/searchlib/src/vespa/searchlib/query/streaming/queryterm.h +++ b/searchlib/src/vespa/searchlib/query/streaming/queryterm.h @@ -11,6 +11,7 @@ namespace search::fef { +class IIndexEnvironment; class ITermData; class MatchData; @@ -85,6 +86,8 @@ public: void setWeight(query::Weight v) { _weight = v; } void setRanked(bool ranked) { _isRanked = ranked; } bool isRanked() const { return _isRanked; } + void set_filter(bool v) noexcept { _filter = v; } + bool is_filter() const noexcept { return _filter; } void setUniqueId(uint32_t u) { _uniqueId = u; } query::Weight weight() const { return _weight; } uint32_t uniqueId() const { return _uniqueId; } @@ -105,10 +108,10 @@ public: virtual FuzzyTerm* as_fuzzy_term() noexcept; virtual EquivQueryNode* as_equiv_query_node() noexcept; virtual const EquivQueryNode* as_equiv_query_node() const noexcept; - virtual void unpack_match_data(uint32_t docid, const fef::ITermData& td, fef::MatchData& match_data); + virtual void unpack_match_data(uint32_t docid, const fef::ITermData& td, fef::MatchData& match_data, const fef::IIndexEnvironment& index_env); protected: template <typename HitListType> - static void unpack_match_data_helper(uint32_t docid, const fef::ITermData& td, fef::MatchData& match_data, const HitListType& hit_list, const QueryTerm& fl_term); + static void unpack_match_data_helper(uint32_t docid, const fef::ITermData& td, fef::MatchData& match_data, const HitListType& hit_list, const QueryTerm& fl_term, bool term_filter, const fef::IIndexEnvironment& index_env); using QueryNodeResultBaseContainer = std::unique_ptr<QueryNodeResultBase>; HitList _hitList; private: @@ -116,6 +119,7 @@ private: QueryNodeResultBaseContainer _result; EncodingBitMap _encoding; bool _isRanked; + bool _filter; query::Weight _weight; uint32_t _uniqueId; std::vector<FieldInfo> _fieldInfo; |