summaryrefslogtreecommitdiffstats
path: root/searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h')
-rw-r--r--searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h b/searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h
new file mode 100644
index 00000000000..ddc84a4b6d3
--- /dev/null
+++ b/searchlib/src/vespa/searchlib/query/streaming/nearest_neighbor_query_node.h
@@ -0,0 +1,27 @@
+// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+
+#pragma once
+
+#include "queryterm.h"
+
+namespace search::streaming {
+
+/*
+ * Nearest neighbor query node.
+ */
+class NearestNeighborQueryNode: public QueryTerm
+{
+ double _distance_threshold;
+public:
+ NearestNeighborQueryNode(std::unique_ptr<QueryNodeResultBase> resultBase, const string& term, const string& index, int32_t id, search::query::Weight weight, double distance_threshold);
+ NearestNeighborQueryNode(const NearestNeighborQueryNode &) = delete;
+ NearestNeighborQueryNode & operator = (const NearestNeighborQueryNode &) = delete;
+ NearestNeighborQueryNode(NearestNeighborQueryNode &&) = delete;
+ NearestNeighborQueryNode & operator = (NearestNeighborQueryNode &&) = delete;
+ ~NearestNeighborQueryNode() override;
+ NearestNeighborQueryNode* as_nearest_neighbor_query_node() noexcept override;
+ const vespalib::string& get_query_tensor_name() const { return getTermString(); }
+ double get_distance_threshold() const { return _distance_threshold; }
+};
+
+}