Vettore.Index behaviour (Vettore v0.3.2)

Copy Markdown View Source

Search index behaviour.

Indexes may keep acceleration state, but ETS remains the canonical record store. Implementations must return Vettore.Result structs.

Summary

Callbacks

delete(t, t)

@callback delete(Vettore.Collection.t(), String.t()) :: :ok | {:error, term()}

new(atom, keyword)

@callback new(
  atom(),
  keyword()
) :: {:ok, term()} | {:error, term()}

put(t, t)

@callback put(Vettore.Collection.t(), Vettore.Embedding.t()) :: :ok | {:error, term()}

put_many(t, list)

@callback put_many(Vettore.Collection.t(), [Vettore.Embedding.t()]) ::
  :ok | {:error, term()}

search(t, list, keyword)

@callback search(Vettore.Collection.t(), [number()], keyword()) ::
  {:ok, [Vettore.Result.t()]} | {:error, term()}