Skip to main content

cuvsTieredIndexSearch

Function cuvsTieredIndexSearch 

Source
pub unsafe extern "C" fn cuvsTieredIndexSearch(
    res: cuvsResources_t,
    search_params: *mut c_void,
    index: cuvsTieredIndex_t,
    queries: *mut DLManagedTensor,
    neighbors: *mut DLManagedTensor,
    distances: *mut DLManagedTensor,
    prefilter: cuvsFilter,
) -> cuvsError_t
Expand description

@defgroup tieredindex_c_index_search Tiered index search @{ / /** @brief Search a TieredIndex index with a DLManagedTensor

@code {.c} #include <cuvs/core/c_api.h> #include <cuvs/neighbors/tiered_index.h>

// Create cuvsResources_t cuvsResources_t res; cuvsError_t res_create_status = cuvsResourcesCreate(&res);

// Assume a populated DLManagedTensor type here DLManagedTensor dataset; DLManagedTensor queries; DLManagedTensor neighbors; DLManagedTensor bitmap;

cuvsFilter prefilter{(uintptr_t)&bitmap, BITMAP};

// Search the index built using cuvsTieredIndexBuild cuvsError_t search_status = cuvsTieredIndexSearch(res, index, &queries, &neighbors, &distances, prefilter);

// de-allocate res cuvsError_t res_destroy_status = cuvsResourcesDestroy(res); @endcode

@param[in] res cuvsResources_t opaque C handle @param[in] search_params params used to the ANN index, should be one of cuvsCagraSearchParams_t, cuvsIvfFlatSearchParams_t, cuvsIvfPqSearchParams_t depending on the type of the tiered index used @param[in] index cuvsTieredIndex which has been returned by cuvsTieredIndexBuild @param[in] queries DLManagedTensor* queries dataset to search @param[out] neighbors DLManagedTensor* output k neighbors for queries @param[out] distances DLManagedTensor* output k distances for queries @param[in] prefilter cuvsFilter input prefilter that can be used to filter queries and neighbors based on the given bitmap.