MCPcopy Create free account
hub / github.com/antgroup/vsag / search_one_graph

Method search_one_graph

src/algorithm/hgraph.cpp:1050–1077  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1048
1049template <InnerSearchMode mode>
1050DistHeapPtr
1051HGraph::search_one_graph(const void* query,
1052 const GraphInterfacePtr& graph,
1053 const FlattenInterfacePtr& flatten,
1054 InnerSearchParam& inner_search_param,
1055 const VisitedListPtr& vt,
1056 QueryContext* ctx) const {
1057 bool new_visited_list = vt == nullptr;
1058 VisitedListPtr visited_list;
1059 if (new_visited_list) {
1060 visited_list = this->pool_->TakeOne();
1061 } else {
1062 visited_list = vt;
1063 visited_list->Reset();
1064 }
1065 DistHeapPtr result = nullptr;
1066 if (inner_search_param.parallel_search_thread_count > 1) {
1067 result = this->parallel_searcher_->Search(
1068 graph, flatten, visited_list, query, inner_search_param, this->label_table_, ctx);
1069 } else {
1070 result = this->searcher_->Search(
1071 graph, flatten, visited_list, query, inner_search_param, this->label_table_, ctx);
1072 }
1073 if (new_visited_list) {
1074 this->pool_->ReturnOne(visited_list);
1075 }
1076 return result;
1077}
1078
1079template <InnerSearchMode mode>
1080DistHeapPtr

Callers 3

KnnSearchMethod · 0.95
RangeSearchMethod · 0.95
SearchWithRequestMethod · 0.95

Calls 4

TakeOneMethod · 0.80
ReturnOneMethod · 0.80
ResetMethod · 0.45
SearchMethod · 0.45

Tested by

no test coverage detected