diff options
Diffstat (limited to 'searchcommon')
-rw-r--r-- | searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h b/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h index 9e98a8c5fb7..94d3fda49f3 100644 --- a/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h +++ b/searchcommon/src/vespa/searchcommon/attribute/hnsw_index_params.h @@ -2,6 +2,8 @@ #pragma once +#include "distance_metric.h" + namespace search::attribute { /** @@ -12,20 +14,25 @@ class HnswIndexParams { private: uint32_t _max_links_per_node; uint32_t _neighbors_to_explore_at_insert; + DistanceMetric _distance_metric; public: HnswIndexParams(uint32_t max_links_per_node_in, - uint32_t neighbors_to_explore_at_insert_in) + uint32_t neighbors_to_explore_at_insert_in, + DistanceMetric distance_metric_in) : _max_links_per_node(max_links_per_node_in), - _neighbors_to_explore_at_insert(neighbors_to_explore_at_insert_in) + _neighbors_to_explore_at_insert(neighbors_to_explore_at_insert_in), + _distance_metric(distance_metric_in) {} uint32_t max_links_per_node() const { return _max_links_per_node; } uint32_t neighbors_to_explore_at_insert() const { return _neighbors_to_explore_at_insert; } + DistanceMetric distance_metric() const { return _distance_metric; } bool operator==(const HnswIndexParams& rhs) const { - return _max_links_per_node == rhs._max_links_per_node && - _neighbors_to_explore_at_insert == rhs._neighbors_to_explore_at_insert; + return (_max_links_per_node == rhs._max_links_per_node && + _neighbors_to_explore_at_insert == rhs._neighbors_to_explore_at_insert && + _distance_metric == rhs._distance_metric); } }; |