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:
enumfor categorical data,textfor semantic embeddings via GGUF language models,numberfor continuous numeric values,datetimefor date/time fields, andrawfor 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¶
- 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.
- Train the index — feed documents into the index. Aspected uses the resolvers to convert each document into a composite vector and stores it.
- 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.