Search Gen 2
API docs
- Search API:
- Vectorstore API:
- Indexer API (tbd)
(Swagger viewer: https://editor.swagger.io)
Summary of services
There are 2 independent services which power the new generation of Eluvio search
-
Vectorstore: A crud-based vector database for storing both vectors and textual documents. Enables semantic vector search on top of complex keyword filters.
-
Content-Search API: AI-powered search API that sits on top of the vectorstore with the purpose of powering end-user applications.
Vectorstore Details
The vectorstore is a simple service for storing and searching tenant-scoped vectors and text documents alongside the Content Fabric.
Data Model
Spaces
- Spaces must be tied with a content object. Access to any vectors or documents within the space requires a fabric authorization token that can access the underlying content object.
- All search features are scoped to a single space.
- A space can optionally point to a content object collection to enable automatic vector indexing of the objects in the collection
Collections
- A grouping of contents which all belong to a single tenant
- Creating a collection requires passing a tenant id as well as providing an authorization token which has either content-admin or tenant-admin permission scope.
Vectors
- Contains vector data alongside optional metadata referencing a content object in the Content Fabric.
- Given an input vector we can efficiently find close vectors in the space
Documents
- Stores free form textual data alongside optional metadata referencing a content object in the Content Fabric.
- Can be associated with one or more vectors to enable complex filtering on top of vector search
- For example, to enable clip search we can store detailed metadata per scene: actors present, movie title, etc… along with vectors for encoding semantic descriptions: setting, tone, mood, etc…. We can then enable complex semantic+entity-based searches like: “romantic scenes with jennifer lawrence from No Hard Feelings”.
- When we search at the document level we can pass a vector alongside our filters, it will return documents that match the filters in order of their closest vector match to the query vector.
Content-Search Details
Features
- transform free form user queries into precise vectorstore requests in order to retrieve the most relevant results.
- reranks retrieved results using a cross-encoder for optimal relevance
- clip search API - search vast media libraries and return short playable clips