@type t() :: %{
vectors: %{size: non_neg_integer(), distance: String.t()},
shard_number: non_neg_integer() | nil,
replication_factor: non_neg_integer() | nil,
write_consistency_factor: non_neg_integer() | nil,
on_disk_payload: boolean() | nil,
hnsw_config:
%{
m: non_neg_integer() | nil,
ef_construct: non_neg_integer() | nil,
full_scan_threshold: non_neg_integer() | nil,
max_indexing_threads: non_neg_integer() | nil,
on_disk: boolean() | nil,
payload_m: non_neg_integer() | nil
}
| nil,
wal_config:
%{wal_capacity_mb: non_neg_integer(), wal_segments_ahead: non_neg_integer()}
| nil,
optimizers_config:
%{
deleted_threshold: non_neg_integer() | nil,
vacuum_min_vector_number: non_neg_integer() | nil,
default_segment_number: non_neg_integer() | nil,
max_segment_size: non_neg_integer() | nil,
memmap_threshold: non_neg_integer() | nil,
indexing_threshold: non_neg_integer() | nil,
flush_interval_sec: non_neg_integer() | nil,
max_optimization_threads: non_neg_integer() | nil
}
| nil,
init_from: String.t() | nil,
quantization_config: any() | nil
}