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