Template Class HnswSearchImpl¶
Defined in File hnsw_search_impl.h
Inheritance Relationships¶
Base Type¶
public n2::HnswSearch
(Class HnswSearch)
Class Documentation¶
-
template<typename
DistFuncType
>
classn2
::
HnswSearchImpl
: public n2::HnswSearch¶ Public Functions
-
void
SearchByVector
(const std::vector<float> &qvec, size_t k, int ef_search, bool ensure_k, std::vector<int> &result) override¶
-
void
SearchByVector
(const std::vector<float> &qvec, size_t k, int ef_search, bool ensure_k, std::vector<std::pair<int, float>> &result) override¶
-
void
SearchById
(int id, size_t k, int ef_search, bool ensure_k, std::vector<int> &result) override¶
-
void
SearchById
(int id, size_t k, int ef_search, bool ensure_k, std::vector<std::pair<int, float>> &result) override¶
Protected Functions
-
template<typename
ResultType
>
voidSearchByVector_
(const std::vector<float> &qvec, size_t k, int ef_search, bool ensure_k, ResultType &result)¶
-
void
CallSearchById_
(int cur_node_id, float cur_dist, const float *qraw, size_t k, size_t ef_search, bool ensure_k, std::vector<int> &result)¶
-
void
CallSearchById_
(int cur_node_id, float cur_dist, const float *qraw, size_t k, size_t ef_search, bool ensure_k, std::vector<std::pair<int, float>> &result)¶
-
template<typename
ResultType
>
voidSearchById_
(int cur_node_id, float cur_dist, const float *qraw, size_t k, size_t ef_search, bool ensure_k, ResultType &result)¶
-
template<typename
ResultType
>
voidSearchByIdV1_
(int cur_node_id, float cur_dist, const float *qraw, size_t k, size_t ef_search, bool ensure_k, ResultType &result)¶
-
template<typename
ResultType
>
voidSearchByIdV2_
(int cur_node_id, float cur_dist, const float *qraw, size_t k, size_t ef_search, bool ensure_k, ResultType &result)¶
-
bool
PrepareEnsureKSearch
(int cur_node_id, std::vector<int> &result, IdDistancePairMinHeap &visited_nodes)¶
-
bool
PrepareEnsureKSearch
(int cur_node_id, std::vector<std::pair<int, float>> &result, IdDistancePairMinHeap &visited_nodes)¶
-
void
MakeSearchResult
(size_t k, IdDistancePairMinHeap &candidates, IdDistancePairMinHeap &visited_nodes, std::vector<int> &result)¶
-
void
MakeSearchResult
(size_t k, IdDistancePairMinHeap &candidates, IdDistancePairMinHeap &visited_nodes, std::vector<std::pair<int, float>> &result)¶
Protected Attributes
-
std::unique_ptr<VisitedList>
visited_list_
¶
-
size_t
data_dim_
¶
-
DistanceKind
metric_
¶
-
DistFuncType
dist_func_
¶
-
std::vector<float>
normalized_vec_
¶
-
std::vector<std::pair<int, float>>
ensure_k_path_
¶
-
char *
model_higher_level_
= nullptr¶
-
char *
model_level0_
= nullptr¶
-
char *
model_level0_node_base_offset_
= nullptr¶
-
uint64_t
memory_per_node_level0_
¶
-
uint64_t
memory_per_node_higher_level_
¶
-
void