Exograph.ShardedIndex (exograph v0.8.1)

Copy Markdown View Source

Runtime handle for an index split across multiple independent Exograph indexes.

Shards keep local IDs. Query APIs fan out to every shard and merge results in memory, so callers can use the same high-level search functions without first materializing one merged DuckDB database.

Summary

Types

shard()

@type shard() ::
  Exograph.Index.t()
  | %{:index => Exograph.Index.t(), optional(:dynamic_repo) => term()}

t()

@type t() :: %Exograph.ShardedIndex{manifest: map() | nil, shards: [shard()]}

Functions

new(shards, opts \\ [])

@spec new(
  [shard()],
  keyword()
) :: t()