# zvex v0.4.0 - Table of Contents

> An Elixir Library wrapping the ZVEC Vector Database Engine

## Pages

- [Overview](readme.md)

- Benchmarks
  - [Collection Delete](collection_delete.md)
  - [Collection Fetch 1000](collection_fetch_1000.md)
  - [Collection Fetch 10000](collection_fetch_10000.md)
  - [Collection Insert 1](collection_insert_1.md)
  - [Collection Insert 10](collection_insert_10.md)
  - [Collection Insert 100](collection_insert_100.md)
  - [Collection Insert 1000](collection_insert_1000.md)
  - [Collection Upsert](collection_upsert.md)
  - [Query 1000](query_1000.md)
  - [Query 10000](query_10000.md)
  - [Query 50000](query_50000.md)
  - [Query Hnsw Ef](query_hnsw_ef.md)
  - [Vector Packing](vector_packing.md)
  - [Vector Sparse](vector_sparse.md)
  - [Vector Unpacking](vector_unpacking.md)

- About
  - [License](license.md)

## Modules

- Core API
  - [Zvex](Zvex.md): Elixir bindings for **zvec**, an in-process vector database.
  - [Zvex.Collection](Zvex.Collection.md): Collection lifecycle management for zvec.
  - [Zvex.Collection.Schema](Zvex.Collection.Schema.md): Schema builder for zvec collections.
  - [Zvex.Collection.Schema.IndexParams](Zvex.Collection.Schema.IndexParams.md): Index configuration for a schema field.
  - [Zvex.Collection.Stats](Zvex.Collection.Stats.md): Collection statistics returned by `Zvex.Collection.stats/1`.

- Documents
  - [Zvex.Document](Zvex.Document.md): Pure Elixir document struct with type-tagged fields for zvec collections.
  - [Zvex.Vector](Zvex.Vector.md): Pure Elixir vector packing/unpacking for dense and sparse vector types.

- Search
  - [Zvex.Query](Zvex.Query.md): Fluent builder for zvec vector queries.
  - [Zvex.Query.Result](Zvex.Query.Result.md): A single result returned by `Zvex.Query.execute/2`.

- Configuration
  - [Zvex.Config](Zvex.Config.md): Configuration builder for zvec initialization.

- Types
  - [Zvex.Types](Zvex.Types.md): Type conversion utilities for zvec data types, index types, and metric types.

- Errors
  - [Zvex.Error](Zvex.Error.md): Splode error hierarchy for Zvex.
  - [Zvex.Error.Conflict](Zvex.Error.Conflict.md): Error class for conflict errors.
  - [Zvex.Error.Conflict.AlreadyExists](Zvex.Error.Conflict.AlreadyExists.md): The resource already exists.
  - [Zvex.Error.Internal](Zvex.Error.Internal.md): Error class for internal/system errors.
  - [Zvex.Error.Internal.InternalError](Zvex.Error.Internal.InternalError.md): An unexpected internal error occurred in the native layer.
  - [Zvex.Error.Invalid](Zvex.Error.Invalid.md): Error class for invalid input errors.
  - [Zvex.Error.Invalid.Argument](Zvex.Error.Invalid.Argument.md): An argument provided to the operation was invalid.
  - [Zvex.Error.Invalid.FailedPrecondition](Zvex.Error.Invalid.FailedPrecondition.md): A precondition for the operation was not met.
  - [Zvex.Error.NotFound](Zvex.Error.NotFound.md): Error class for not-found errors.
  - [Zvex.Error.NotFound.NotFound](Zvex.Error.NotFound.NotFound.md): The requested resource was not found.
  - [Zvex.Error.Unavailable](Zvex.Error.Unavailable.md): Error class for unavailability-related errors.
  - [Zvex.Error.Unavailable.NotSupported](Zvex.Error.Unavailable.NotSupported.md): The requested operation is not supported.
  - [Zvex.Error.Unavailable.PermissionDenied](Zvex.Error.Unavailable.PermissionDenied.md): The caller lacks permission to perform the requested operation.
  - [Zvex.Error.Unavailable.ResourceExhausted](Zvex.Error.Unavailable.ResourceExhausted.md): A resource limit has been reached (e.g. storage, memory).
  - [Zvex.Error.Unavailable.Unavailable](Zvex.Error.Unavailable.Unavailable.md): The service or resource is temporarily unavailable.
  - [Zvex.Error.Unknown](Zvex.Error.Unknown.md): Error class for unknown/unclassified errors.
  - [Zvex.Error.Unknown.Unknown](Zvex.Error.Unknown.Unknown.md): An error with an unknown or unclassifiable cause.

- Internal
  - [Zvex.Native](Zvex.Native.md): Low-level NIF bindings to the zvec C API via Zigler.

