aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-03-18 14:15:16 +0100
committerTor Egge <Tor.Egge@online.no>2024-03-18 14:15:16 +0100
commita91ea35083d79d63e925e3d5fe8f4735b90a17ce (patch)
tree06616a20ff3a0f90e0753dbc5a7f2d14a398c767 /searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
parentb199f8bf2bd09f0a2fcff3dfa85861e24f69d647 (diff)
Change parent class of search::streaming::SameElementQueryNode from
search::streaming::AndQueryNode to search:streaming::MultiTerm.
Diffstat (limited to 'searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h')
-rw-r--r--searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h b/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
index 8e675feb569..8955071ba4a 100644
--- a/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
+++ b/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
@@ -2,21 +2,22 @@
#pragma once
-#include "query.h"
+#include "multi_term.h"
namespace search::streaming {
/**
N-ary Same element operator. All terms must be within the same element.
*/
-class SameElementQueryNode : public AndQueryNode
+class SameElementQueryNode : public MultiTerm
{
public:
- SameElementQueryNode() noexcept : AndQueryNode("SAME_ELEMENT") { }
+ SameElementQueryNode(std::unique_ptr<QueryNodeResultBase> result_base, const string& index, uint32_t num_terms) noexcept;
+ ~SameElementQueryNode() override;
bool evaluate() const override;
const HitList & evaluateHits(HitList & hl) const override;
- bool isFlattenable(ParseItem::ItemType) const override { return false; }
- void addChild(QueryNode::UP child) override;
+ void unpack_match_data(uint32_t docid, const fef::ITermData& td, fef::MatchData& match_data, const fef::IIndexEnvironment& index_env) override;
+ const MultiTerm* as_multi_index_multi_term() const noexcept override;
};
}