Search Gen 2

API docs

  1. Search API:
  2. Vectorstore API:
  3. 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