Skip to content

Aspected

Aspected is a vector index database that supports sparse vector queries — searches where some dimensions of the query vector may be left undefined. This makes it ideal for scenarios where you want to match on only a subset of known attributes while leaving others open.

Aspected comes with a built-in HTTP server that exposes a REST API for creating, training, and searching indexes.

Key Features

  • Sparse vector search — query with partially defined vectors; unknown dimensions are simply ignored during similarity matching.
  • Aspect-based schemas — define indexes using named aspects, each backed by a resolver that converts structured data (enums, text, etc.) into vector embeddings.
  • Built-in resolvers — ship with five resolvers: enum for categorical data, text for semantic embeddings via GGUF language models, number for continuous numeric values, datetime for date/time fields, and raw for pre-computed vectors.
  • REST API — full CRUD, train, and search operations over HTTP with JSON payloads.
  • Persistent storage — indexes are saved to disk and automatically reloaded on startup.
  • Docker-ready — a single Docker image to get up and running in seconds.

How It Works

  1. Create an index — define a schema with one or more aspects. Each aspect maps a field in your documents to a resolver that produces a fixed-size embedding vector.
  2. Train the index — feed documents into the index. Aspected uses the resolvers to convert each document into a composite vector and stores it.
  3. Search the index — submit a query specifying values for any subset of aspects. Aspected fills in only the dimensions you provide and finds the nearest neighbours using the configured distance metric.

Next Steps

  • 🚀 Getting Started — Run Aspected using Docker in under five minutes.
  • 🎓 Tutorial — Step-by-step guide: create an index, train it with data, and perform searches.
  • ⚙ Configuration — Customise server, logging, and model settings.
  • 🔒 Security — API token authentication, HTTPS, and access control.
  • 🧩 Resolvers — Learn about the available resolvers (enum, text, number, datetime, raw) and how to configure them.