Weaviate
futomaki.weaviate
A Docker Compose file for Weaviate alone, generated from the catalog and checked by the safety inspector. No account needed.
Vector database with a typed schema that fuses nearest-neighbour and keyword search into one hybrid query, with optional modules that generate embeddings at ingest time.
Weaviate holds objects in classes with declared properties, and each object carries one or more vectors alongside its structured fields, so filters and cross-references are available to a similarity query rather than applied after it. Hybrid search combines vector and BM25 keyword scores into a single ranking, which handles queries where exact terms matter as much as semantics. Vectoriser modules can call an embedding service during ingest so raw text is written directly, and multi-tenancy isolates data per tenant within one class. A first deployment defines a class, imports objects and runs a filtered hybrid query.
You know it worked when
- The service answers its readiness endpoint.
- A class defined in the schema appears in the schema listing.
- Imported objects are returned by a nearest-neighbour query.
- A hybrid query combining keyword and vector search returns ranked results.
- A filtered query returns only objects matching the structured condition.
Known sharp edges
- Anonymous access is enabled unless authentication is configured, and the API permits schema and data deletion.
- Vectoriser modules must be enabled at startup and named in the class schema; a class created without one expects a vector supplied with every object instead.
- The index is memory-resident and its footprint grows with object count and dimensionality, so an import that fits on disk may not fit in RAM.
- Schema changes after creation are limited: adding a property is possible, but changing vectoriser or distance metric means recreating the class and reimporting.