aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
diff options
context:
space:
mode:
authorGeir Storli <geirst@vespa.ai>2024-03-18 17:48:12 +0100
committerGitHub <noreply@github.com>2024-03-18 17:48:12 +0100
commitf30d81b16dd11fd68e1be04ab1685df26193735e (patch)
treecff1ed6fdd8e3a4080ce6edf096443846a07ab88 /searchlib/src/vespa/searchlib/query/streaming/same_element_query_node.h
parentdd8ebed8c817e3ce39676cc41008dbe6131c29df (diff)
parentb700eeb73d8de490cdafbc3d004ed091e71e3c9e (diff)
Merge pull request #30670 from vespa-engine/toregge/change-parent-class-of-search-streaming-same-element-query-nodev8.321.19
Change parent class of search::streaming::SameElementQueryNode from
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..37fb3dbba52 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;
+ bool multi_index_terms() const noexcept override;
};
}