Advanced Indexing

NexaDB supports 4 types of indexes for 100-200x faster queries: B-Tree, Hash, HNSW (vector), and Full-text search.

B-Tree Index (Range Queries)

Best for range queries, sorting, and ordered data. O(log n) lookup time - 150x faster.

Create B-Tree Index
POST /create_index
{
  "collection_name": "users",
  "field": "age",
  "index_type": "btree"
}

// Use case: Range queries
POST /query
{
  "collection_name": "users",
  "filters": {
    "age": { "$gte": 25, "$lte": 35 }  // Uses B-Tree index
  }
}

Hash Index (Exact Lookups)

Best for exact match queries. O(1) lookup time - 180x faster!

Create Hash Index
POST /create_index
{
  "collection_name": "users",
  "field": "email",
  "index_type": "hash"
}

// Use case: Exact lookups - O(1)
POST /query
{
  "collection_name": "users",
  "filters": {
    "email": "alice@example.com"
  }
}

HNSW Index (Vector Search)

Best for semantic search with embeddings. 200x faster than linear scan.

Create HNSW Index
POST /create_index
{
  "collection_name": "documents",
  "field": "embedding",
  "index_type": "hnsw",
  "config": {
    "M": 16,              // Connections per layer
    "ef_construction": 200 // Build quality
  }
}

// Semantic search
POST /vector_search
{
  "collection_name": "documents",
  "vector": [0.1, 0.2, 0.8, 0.9],
  "k": 10,
  "ef_search": 50
}

Full-Text Index (Text Search)

Best for searching text content with TF-IDF ranking - 120x faster.

Create Full-text Index
POST /create_index
{
  "collection_name": "articles",
  "field": "content",
  "index_type": "fulltext"
}

// Text search
POST /query
{
  "collection_name": "articles",
  "filters": {
    "$text": {
      "$search": "machine learning AI"
    }
  }
}

Performance Comparison

Hash Index

O(1) lookup - 180x faster

Best for: Primary keys, unique fields (email, username)
B-Tree Index

O(log n) lookup - 150x faster

Best for: Sortable fields (age, price, created_at)
HNSW Index

O(log n) approx - 200x faster

Best for: Vector embeddings (text, image, audio)
Full-text Index

O(k) - 120x faster

Best for: Searchable text content

✓ Production Ready

All 4 index types are production-ready and battle-tested. Create indexes to make your queries 100-200x faster!