Internal backend behavior for Scrypath runtime adapters.
This behavior is documented so architecture references remain valid, but it is still considered an internal seam for v1 rather than a stable extension API.
Summary
Callbacks
Optional federated multi-search over multiple schemas in one HTTP round-trip.
Callbacks
@callback name() :: atom()
@callback search(module(), Scrypath.Query.t(), keyword()) :: {:ok, map()} | {:error, term()}
@callback search_many( [{module(), Scrypath.Query.t(), keyword()}], keyword() ) :: {:ok, map()} | {:error, term()}
Optional federated multi-search over multiple schemas in one HTTP round-trip.
Each row is {schema_module, %Scrypath.Query{}, fed_opts} where fed_opts is a
keyword list that is usually []. In v1.8 only :federation_weight is
defined (a finite float) for per-query merge weights on federated backends.
Implementations return raw Meilisearch JSON maps (string keys) before the search layer decorates them into structs.
@callback upsert_documents(module(), [Scrypath.Document.t()], keyword()) :: {:ok, term()} | {:error, term()}