Skip to main content

Crate zvec_rust_sys

Crate zvec_rust_sys 

Source
Expand description

Raw FFI bindings to the zvec C-API.

This crate provides low-level Rust bindings to the zvec vector database C library. It exposes opaque pointer types, constants, and function declarations that mirror the C API exactly. For a safer, more idiomatic Rust interface, consider using the higher-level zvec crate which wraps these raw bindings.

§Safety

All functions in this crate are unsafe by nature as they interact with C code. Proper memory management and lifetime handling is the responsibility of the caller.

Structs§

zvec_byte_array_t
A view of a byte array (non-owning).
zvec_collection_options_t
Opaque pointer to collection opening options. Controls behavior like MMAP, buffer size, and read-only mode.
zvec_collection_schema_t
Opaque pointer to a collection schema definition. Defines the structure of fields and indexes in a collection.
zvec_collection_stats_t
Opaque pointer to collection statistics data. Contains metrics like document count and index completeness.
zvec_collection_t
Opaque pointer to a vector collection instance. Represents an opened collection that can be used for read/write operations.
zvec_config_data_t
Opaque pointer to global configuration data. Manages memory limits, thread counts, and other system-wide settings.
zvec_diskann_query_params_t
Opaque pointer to DiskANN index query parameters. Configures list_size, radius, and refiner settings for DiskANN searches.
zvec_doc_iterator_t
Opaque pointer to a document iterator for full collection traversal. Created by zvec_collection_create_iterator, released by zvec_doc_iterator_close. Iterates over an isolated snapshot taken at creation time.
zvec_doc_t
Opaque pointer to a document instance. Represents a single record with fields and values in a collection.
zvec_error_details_t
Detailed error information including source location.
zvec_field_schema_t
Opaque pointer to a field schema definition. Defines the properties of a single field including type, index, etc.
zvec_flat_query_params_t
Opaque pointer to flat index query parameters. Configures scale factor and refiner settings for brute-force searches.
zvec_float_array_t
A view of a float array (non-owning).
zvec_fts_query_params_t
Opaque pointer to FTS query parameters. Controls the default boolean operator for adjacent bare terms.
zvec_fts_t
Opaque pointer to FTS query payload. Holds query_string (boolean expression) and match_string (natural-language).
zvec_group_by_vector_query_t
Opaque pointer to a group-by vector query object. Configures grouped vector search with aggregation parameters.
zvec_hnsw_query_params_t
Opaque pointer to HNSW index query parameters. Configures ef, radius, and refiner settings for HNSW searches.
zvec_index_params_t
Opaque pointer to index configuration parameters. Contains settings for HNSW, IVF, or other index types.
zvec_int64_array_t
A view of an int64 array (non-owning).
zvec_iterator_options_t
Opaque pointer to document iterator options. Controls which scalar fields and whether vectors are returned.
zvec_ivf_query_params_t
Opaque pointer to IVF index query parameters. Configures nprobe, scale factor, and refiner settings for IVF searches.
zvec_ivf_rabitq_query_params_t
Opaque pointer to IVF RaBitQ index query parameters. Configures nprobe, scale factor, and refiner settings for IVF RaBitQ searches.
zvec_log_config_t
Opaque pointer to logging configuration. Controls log level, output type (console/file), and file rotation settings.
zvec_multi_query_t
Opaque pointer to a multi-query object. Combines multiple sub-queries with a re-ranking strategy (RRF / Weighted).
zvec_mutable_byte_array_t
A mutable, owning byte array with capacity tracking.
zvec_string_array_t
An array of owned strings.
zvec_string_t
An owning, mutable string with capacity tracking.
zvec_string_view_t
A non-owning view of a string (pointer + length).
zvec_sub_query_t
Opaque pointer to a sub-query object used inside a multi-query. Carries a per-field vector or sparse vector and index-specific parameters.
zvec_vamana_query_params_t
Opaque pointer to Vamana index query parameters. Configures ef_search, radius, and refiner settings for Vamana searches.
zvec_vector_query_t
Opaque pointer to a vector query object. Configures search parameters for vector similarity queries.
zvec_write_result_t
Result of a write operation (insert/update/delete).

Constants§

ZVEC_DATA_TYPE_ARRAY_BINARY
Array of binary values.
ZVEC_DATA_TYPE_ARRAY_BOOL
Array of booleans.
ZVEC_DATA_TYPE_ARRAY_DOUBLE
Array of 64-bit doubles.
ZVEC_DATA_TYPE_ARRAY_FLOAT
Array of 32-bit floats.
ZVEC_DATA_TYPE_ARRAY_INT32
Array of 32-bit signed integers.
ZVEC_DATA_TYPE_ARRAY_INT64
Array of 64-bit signed integers.
ZVEC_DATA_TYPE_ARRAY_STRING
Array of strings.
ZVEC_DATA_TYPE_ARRAY_UINT32
Array of 32-bit unsigned integers.
ZVEC_DATA_TYPE_ARRAY_UINT64
Array of 64-bit unsigned integers.
ZVEC_DATA_TYPE_BINARY
Binary data type.
ZVEC_DATA_TYPE_BOOL
Boolean data type.
ZVEC_DATA_TYPE_DOUBLE
64-bit floating point.
ZVEC_DATA_TYPE_FLOAT
32-bit floating point.
ZVEC_DATA_TYPE_INT32
32-bit signed integer.
ZVEC_DATA_TYPE_INT64
64-bit signed integer.
ZVEC_DATA_TYPE_SPARSE_VECTOR_FP16
Sparse vector with FP16 elements.
ZVEC_DATA_TYPE_SPARSE_VECTOR_FP32
Sparse vector with FP32 elements.
ZVEC_DATA_TYPE_STRING
String data type.
ZVEC_DATA_TYPE_UINT32
32-bit unsigned integer.
ZVEC_DATA_TYPE_UINT64
64-bit unsigned integer.
ZVEC_DATA_TYPE_UNDEFINED
Undefined data type.
ZVEC_DATA_TYPE_VECTOR_BINARY32
Dense vector with binary32 (float) elements.
ZVEC_DATA_TYPE_VECTOR_BINARY64
Dense vector with binary64 (double) elements.
ZVEC_DATA_TYPE_VECTOR_FP16
Dense vector with FP16 (half precision) elements.
ZVEC_DATA_TYPE_VECTOR_FP32
Dense vector with FP32 (single precision) elements.
ZVEC_DATA_TYPE_VECTOR_FP64
Dense vector with FP64 (double precision) elements.
ZVEC_DATA_TYPE_VECTOR_INT4
Dense vector with INT4 quantized elements.
ZVEC_DATA_TYPE_VECTOR_INT8
Dense vector with INT8 quantized elements.
ZVEC_DATA_TYPE_VECTOR_INT16
Dense vector with INT16 quantized elements.
ZVEC_DOC_OP_DELETE
Delete operation.
ZVEC_DOC_OP_INSERT
Insert operation (fails if document exists).
ZVEC_DOC_OP_UPDATE
Update operation (fails if document doesn’t exist).
ZVEC_DOC_OP_UPSERT
Upsert operation (insert or update).
ZVEC_ERROR_ALREADY_EXISTS
Resource already exists.
ZVEC_ERROR_FAILED_PRECONDITION
Operation failed due to unmet precondition.
ZVEC_ERROR_INTERNAL_ERROR
Internal system error occurred.
ZVEC_ERROR_INVALID_ARGUMENT
Invalid argument provided.
ZVEC_ERROR_NOT_FOUND
Requested resource was not found.
ZVEC_ERROR_NOT_SUPPORTED
Operation is not supported.
ZVEC_ERROR_PERMISSION_DENIED
Permission denied for the operation.
ZVEC_ERROR_RESOURCE_EXHAUSTED
System resources exhausted.
ZVEC_ERROR_UNAVAILABLE
Service is currently unavailable.
ZVEC_ERROR_UNKNOWN
Unknown error occurred.
ZVEC_INDEX_TYPE_DISKANN
DiskANN disk-based graph index.
ZVEC_INDEX_TYPE_FLAT
Flat/brute-force index (exact search).
ZVEC_INDEX_TYPE_FTS
Full-text search index.
ZVEC_INDEX_TYPE_HNSW
HNSW (Hierarchical Navigable Small World) graph index.
ZVEC_INDEX_TYPE_HNSW_RABITQ
HNSW graph index with RaBitQ quantization.
ZVEC_INDEX_TYPE_INVERT
Inverted index for scalar field filtering.
ZVEC_INDEX_TYPE_IVF
IVF (Inverted File Index) with clustering.
ZVEC_INDEX_TYPE_IVF_RABITQ
IVF index with RaBitQ quantization.
ZVEC_INDEX_TYPE_UNDEFINED
Undefined index type.
ZVEC_INDEX_TYPE_VAMANA
Vamana disk-based graph index.
ZVEC_LOG_LEVEL_DEBUG
Debug level logging (most verbose).
ZVEC_LOG_LEVEL_ERROR
Error level logging.
ZVEC_LOG_LEVEL_FATAL
Fatal level logging (least verbose, critical errors only).
ZVEC_LOG_LEVEL_INFO
Info level logging.
ZVEC_LOG_LEVEL_WARN
Warning level logging.
ZVEC_LOG_TYPE_CONSOLE
Console output logging.
ZVEC_LOG_TYPE_FILE
File output logging.
ZVEC_METRIC_TYPE_COSINE
Cosine similarity.
ZVEC_METRIC_TYPE_IP
Inner product (dot product).
ZVEC_METRIC_TYPE_L2
L2 (Euclidean) distance.
ZVEC_METRIC_TYPE_MIPSL2
MIPS converted to L2 distance.
ZVEC_METRIC_TYPE_UNDEFINED
Undefined metric type.
ZVEC_OK
Operation completed successfully.
ZVEC_QUANTIZE_TYPE_FP16
FP16 (half precision) quantization.
ZVEC_QUANTIZE_TYPE_INT4
INT4 (4-bit integer) quantization.
ZVEC_QUANTIZE_TYPE_INT8
INT8 (8-bit integer) quantization.
ZVEC_QUANTIZE_TYPE_RABITQ
RaBitQ quantization.
ZVEC_QUANTIZE_TYPE_UNDEFINED
Undefined quantization type.

Functions§

zvec_bin_create
zvec_byte_array_create
zvec_byte_array_destroy
zvec_check_version
zvec_clear_error
zvec_collection_add_column
zvec_collection_alter_column
zvec_collection_close
zvec_collection_create_and_open
zvec_collection_create_index
zvec_collection_create_iterator
zvec_collection_delete
zvec_collection_delete_by_filter
zvec_collection_delete_with_results
zvec_collection_destroy
zvec_collection_drop_column
zvec_collection_drop_index
zvec_collection_fetch
zvec_collection_flush
zvec_collection_get_options
zvec_collection_get_schema
zvec_collection_get_stats
zvec_collection_insert
zvec_collection_insert_with_results
zvec_collection_multi_query
zvec_collection_open
zvec_collection_optimize
zvec_collection_options_create
zvec_collection_options_destroy
zvec_collection_options_get_enable_mmap
zvec_collection_options_get_max_buffer_size
zvec_collection_options_get_read_only
zvec_collection_options_set_enable_mmap
zvec_collection_options_set_max_buffer_size
zvec_collection_options_set_read_only
zvec_collection_query
zvec_collection_schema_add_field
zvec_collection_schema_add_index
zvec_collection_schema_alter_field
zvec_collection_schema_create
zvec_collection_schema_destroy
zvec_collection_schema_drop_field
zvec_collection_schema_drop_index
zvec_collection_schema_get_all_field_names
zvec_collection_schema_get_field
zvec_collection_schema_get_forward_field
zvec_collection_schema_get_forward_field_names
zvec_collection_schema_get_forward_field_names_with_index
zvec_collection_schema_get_forward_fields
zvec_collection_schema_get_forward_fields_with_index
zvec_collection_schema_get_max_doc_count_per_segment
zvec_collection_schema_get_name
zvec_collection_schema_get_vector_field
zvec_collection_schema_get_vector_fields
zvec_collection_schema_has_field
zvec_collection_schema_has_index
zvec_collection_schema_set_max_doc_count_per_segment
zvec_collection_schema_set_name
zvec_collection_schema_validate
zvec_collection_stats_destroy
zvec_collection_stats_get_doc_count
zvec_collection_stats_get_index_completeness
zvec_collection_stats_get_index_count
zvec_collection_stats_get_index_name
zvec_collection_update
zvec_collection_update_with_results
zvec_collection_upsert
zvec_collection_upsert_with_results
zvec_config_data_create
zvec_config_data_destroy
zvec_config_data_get_brute_force_by_keys_ratio
zvec_config_data_get_fts_brute_force_by_keys_ratio
zvec_config_data_get_invert_to_forward_scan_ratio
zvec_config_data_get_log_type
zvec_config_data_get_memory_limit
zvec_config_data_get_optimize_thread_count
zvec_config_data_get_query_thread_count
zvec_config_data_set_brute_force_by_keys_ratio
zvec_config_data_set_fts_brute_force_by_keys_ratio
zvec_config_data_set_invert_to_forward_scan_ratio
zvec_config_data_set_log_config
zvec_config_data_set_memory_limit
zvec_config_data_set_optimize_thread_count
zvec_config_data_set_query_thread_count
zvec_config_log_create_console
zvec_config_log_create_file
zvec_config_log_destroy
zvec_config_log_get_basename
zvec_config_log_get_dir
zvec_config_log_get_file_size
zvec_config_log_get_level
zvec_config_log_get_overdue_days
zvec_config_log_is_file_type
zvec_config_log_set_basename
zvec_config_log_set_dir
zvec_config_log_set_file_size
zvec_config_log_set_level
zvec_config_log_set_overdue_days
zvec_data_type_to_string
zvec_doc_add_field_by_value
zvec_doc_clear
zvec_doc_create
zvec_doc_deserialize
zvec_doc_destroy
zvec_doc_get_doc_id
zvec_doc_get_field_count
zvec_doc_get_field_names
zvec_doc_get_field_value_basic
zvec_doc_get_field_value_copy
zvec_doc_get_field_value_pointer
zvec_doc_get_operator
zvec_doc_get_pk_copy
zvec_doc_get_pk_pointer
zvec_doc_get_score
zvec_doc_has_field
zvec_doc_has_field_value
zvec_doc_is_empty
zvec_doc_is_field_null
zvec_doc_iterator_close
zvec_doc_iterator_next
zvec_doc_memory_usage
zvec_doc_merge
zvec_doc_remove_field
zvec_doc_serialize
zvec_doc_set_doc_id
zvec_doc_set_field_null
zvec_doc_set_operator
zvec_doc_set_pk
zvec_doc_set_score
zvec_doc_to_detail_string
zvec_doc_validate
zvec_docs_free
zvec_error_code_to_string
zvec_field_schema_create
zvec_field_schema_destroy
zvec_field_schema_get_data_type
zvec_field_schema_get_dimension
zvec_field_schema_get_element_data_size
zvec_field_schema_get_element_data_type
zvec_field_schema_get_index_params
zvec_field_schema_get_index_type
zvec_field_schema_get_name
zvec_field_schema_has_index
zvec_field_schema_has_invert_index
zvec_field_schema_is_array_type
zvec_field_schema_is_dense_vector
zvec_field_schema_is_nullable
zvec_field_schema_is_sparse_vector
zvec_field_schema_is_vector_field
zvec_field_schema_set_data_type
zvec_field_schema_set_dimension
zvec_field_schema_set_index_params
zvec_field_schema_set_name
zvec_field_schema_set_nullable
zvec_field_schema_validate
zvec_float_array_create
zvec_float_array_destroy
zvec_free
zvec_free_field_schema
zvec_free_str_array
zvec_free_string
zvec_free_uint8_array
zvec_fts_create
zvec_fts_destroy
zvec_fts_get_match_string
zvec_fts_get_query_string
zvec_fts_set_match_string
zvec_fts_set_query_string
zvec_get_last_error
zvec_get_last_error_details
zvec_get_version
zvec_get_version_major
zvec_get_version_minor
zvec_get_version_patch
zvec_group_by_vector_query_create
zvec_group_by_vector_query_destroy
zvec_group_by_vector_query_get_field_name
zvec_group_by_vector_query_get_filter
zvec_group_by_vector_query_get_group_by_field_name
zvec_group_by_vector_query_get_group_count
zvec_group_by_vector_query_get_include_vector
zvec_group_by_vector_query_get_output_fields
zvec_group_by_vector_query_get_topk_per_group
zvec_group_by_vector_query_set_diskann_params
zvec_group_by_vector_query_set_field_name
zvec_group_by_vector_query_set_filter
zvec_group_by_vector_query_set_flat_params
zvec_group_by_vector_query_set_group_by_field_name
zvec_group_by_vector_query_set_group_count
zvec_group_by_vector_query_set_hnsw_params
zvec_group_by_vector_query_set_include_vector
zvec_group_by_vector_query_set_ivf_params
zvec_group_by_vector_query_set_ivf_rabitq_params
zvec_group_by_vector_query_set_output_fields
zvec_group_by_vector_query_set_query_params
zvec_group_by_vector_query_set_query_vector
zvec_group_by_vector_query_set_topk_per_group
zvec_group_by_vector_query_set_vamana_params
zvec_index_params_create
zvec_index_params_destroy
zvec_index_params_get_diskann_list_size
zvec_index_params_get_diskann_max_degree
zvec_index_params_get_diskann_pq_chunk_num
zvec_index_params_get_fts_params
zvec_index_params_get_hnsw_ef_construction
zvec_index_params_get_hnsw_m
zvec_index_params_get_invert_params
zvec_index_params_get_ivf_params
zvec_index_params_get_ivf_rabitq_params
zvec_index_params_get_metric_type
zvec_index_params_get_quantize_type
zvec_index_params_get_type
zvec_index_params_get_vamana_params
zvec_index_params_get_vamana_two_pass_build
zvec_index_params_set_diskann_params
zvec_index_params_set_fts_params
zvec_index_params_set_hnsw_params
zvec_index_params_set_invert_params
zvec_index_params_set_ivf_params
zvec_index_params_set_ivf_rabitq_params
zvec_index_params_set_metric_type
zvec_index_params_set_quantize_type
zvec_index_params_set_vamana_params
zvec_index_params_set_vamana_two_pass_build
zvec_index_type_to_string
zvec_initialize
zvec_int64_array_create
zvec_int64_array_destroy
zvec_is_initialized
zvec_iterator_options_create
zvec_iterator_options_destroy
zvec_iterator_options_set_include_vector
zvec_iterator_options_set_output_fields
zvec_malloc
zvec_metric_type_to_string
zvec_multi_query_add_sub_query
zvec_multi_query_create
zvec_multi_query_destroy
zvec_multi_query_get_filter
zvec_multi_query_get_include_vector
zvec_multi_query_get_output_fields
zvec_multi_query_get_sub_query_count
zvec_multi_query_get_topk
zvec_multi_query_set_filter
zvec_multi_query_set_include_vector
zvec_multi_query_set_output_fields
zvec_multi_query_set_rerank_rrf
zvec_multi_query_set_rerank_weighted
zvec_multi_query_set_topk
zvec_query_params_diskann_create
zvec_query_params_diskann_destroy
zvec_query_params_diskann_get_is_linear
zvec_query_params_diskann_get_is_using_refiner
zvec_query_params_diskann_get_list_size
zvec_query_params_diskann_get_radius
zvec_query_params_diskann_set_is_linear
zvec_query_params_diskann_set_is_using_refiner
zvec_query_params_diskann_set_list_size
zvec_query_params_diskann_set_radius
zvec_query_params_flat_create
zvec_query_params_flat_destroy
zvec_query_params_flat_get_is_linear
zvec_query_params_flat_get_is_using_refiner
zvec_query_params_flat_get_radius
zvec_query_params_flat_get_scale_factor
zvec_query_params_flat_set_is_linear
zvec_query_params_flat_set_is_using_refiner
zvec_query_params_flat_set_radius
zvec_query_params_flat_set_scale_factor
zvec_query_params_fts_create
zvec_query_params_fts_destroy
zvec_query_params_fts_get_default_operator
zvec_query_params_fts_set_default_operator
zvec_query_params_hnsw_create
zvec_query_params_hnsw_destroy
zvec_query_params_hnsw_get_ef
zvec_query_params_hnsw_get_is_linear
zvec_query_params_hnsw_get_is_using_refiner
zvec_query_params_hnsw_get_radius
zvec_query_params_hnsw_set_ef
zvec_query_params_hnsw_set_is_linear
zvec_query_params_hnsw_set_is_using_refiner
zvec_query_params_hnsw_set_radius
zvec_query_params_ivf_create
zvec_query_params_ivf_destroy
zvec_query_params_ivf_get_is_linear
zvec_query_params_ivf_get_is_using_refiner
zvec_query_params_ivf_get_nprobe
zvec_query_params_ivf_get_radius
zvec_query_params_ivf_get_scale_factor
zvec_query_params_ivf_rabitq_create
zvec_query_params_ivf_rabitq_destroy
zvec_query_params_ivf_rabitq_get_is_linear
zvec_query_params_ivf_rabitq_get_is_using_refiner
zvec_query_params_ivf_rabitq_get_nprobe
zvec_query_params_ivf_rabitq_get_radius
zvec_query_params_ivf_rabitq_get_scale_factor
zvec_query_params_ivf_rabitq_set_is_linear
zvec_query_params_ivf_rabitq_set_is_using_refiner
zvec_query_params_ivf_rabitq_set_nprobe
zvec_query_params_ivf_rabitq_set_radius
zvec_query_params_ivf_rabitq_set_scale_factor
zvec_query_params_ivf_set_is_linear
zvec_query_params_ivf_set_is_using_refiner
zvec_query_params_ivf_set_nprobe
zvec_query_params_ivf_set_radius
zvec_query_params_ivf_set_scale_factor
zvec_query_params_vamana_create
zvec_query_params_vamana_destroy
zvec_query_params_vamana_get_ef_search
zvec_query_params_vamana_get_is_linear
zvec_query_params_vamana_get_is_using_refiner
zvec_query_params_vamana_get_radius
zvec_query_params_vamana_set_ef_search
zvec_query_params_vamana_set_is_linear
zvec_query_params_vamana_set_is_using_refiner
zvec_query_params_vamana_set_radius
zvec_shutdown
zvec_string_array_add
zvec_string_array_create
zvec_string_array_destroy
zvec_string_c_str
zvec_string_compare
zvec_string_copy
zvec_string_create
zvec_string_create_from_view
zvec_string_length
zvec_sub_query_create
zvec_sub_query_destroy
zvec_sub_query_get_field_name
zvec_sub_query_get_num_candidates
zvec_sub_query_set_diskann_params
zvec_sub_query_set_field_name
zvec_sub_query_set_flat_params
zvec_sub_query_set_fts
zvec_sub_query_set_fts_params
zvec_sub_query_set_hnsw_params
zvec_sub_query_set_ivf_params
zvec_sub_query_set_ivf_rabitq_params
zvec_sub_query_set_num_candidates
zvec_sub_query_set_query_vector
zvec_sub_query_set_sparse_indices
zvec_sub_query_set_sparse_values
zvec_sub_query_set_sparse_vector
zvec_sub_query_set_vamana_params
zvec_vector_query_create
zvec_vector_query_destroy
zvec_vector_query_get_field_name
zvec_vector_query_get_filter
zvec_vector_query_get_fts
zvec_vector_query_get_include_doc_id
zvec_vector_query_get_include_vector
zvec_vector_query_get_output_fields
zvec_vector_query_get_topk
zvec_vector_query_set_diskann_params
zvec_vector_query_set_field_name
zvec_vector_query_set_filter
zvec_vector_query_set_flat_params
zvec_vector_query_set_fts
zvec_vector_query_set_fts_params
zvec_vector_query_set_hnsw_params
zvec_vector_query_set_include_doc_id
zvec_vector_query_set_include_vector
zvec_vector_query_set_ivf_params
zvec_vector_query_set_ivf_rabitq_params
zvec_vector_query_set_output_fields
zvec_vector_query_set_query_params
zvec_vector_query_set_query_vector
zvec_vector_query_set_topk
zvec_vector_query_set_vamana_params
zvec_write_results_free

Type Aliases§

zvec_data_type_t
Data type identifier for field values.
zvec_doc_operator_t
Document operation type (insert/update/delete).
zvec_error_code_t
Error code returned by zvec functions.
zvec_index_type_t
Index algorithm type identifier.
zvec_log_level_t
Log severity level.
zvec_log_type_t
Log output destination type.
zvec_metric_type_t
Distance metric type for vector similarity.
zvec_quantize_type_t
Quantization type for vector compression.