summaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/query/streaming/queryterm.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/vespa/searchlib/query/streaming/queryterm.h')
-rw-r--r--searchlib/src/vespa/searchlib/query/streaming/queryterm.h8
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;