aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/query/streaming/queryterm.h
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-03-15 13:19:05 +0100
committerTor Egge <Tor.Egge@online.no>2024-03-15 13:19:05 +0100
commite7f299d95f8fe6d0392e367598a3449d762f1604 (patch)
treea7c577f99c178e22770a817bcc97d18e66e885ad /searchlib/src/vespa/searchlib/query/streaming/queryterm.h
parentc44558af0a82be9dda1f1ba8bf84337789a906e5 (diff)
Use filter settings from rank profiles and query terms in streaming search.
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;