Canonical shared types for Qdrant request and response values.
Large request schemas evolve with Qdrant and are intentionally represented by
map() in endpoint APIs rather than by incomplete closed maps.
Summary
Types
@type batch_request() :: %{searches: [request_body()]}
@type consistency() :: non_neg_integer() | :majority | :quorum | :all
@type dense_vector() :: [number()]
@type extended_point_id() :: non_neg_integer() | String.t()
@type health_body() :: json_value()
@type hnsw_config() :: %{ optional(:m) => non_neg_integer(), optional(:ef_construct) => non_neg_integer(), optional(:full_scan_threshold) => non_neg_integer(), optional(:max_indexing_threads) => non_neg_integer(), optional(:on_disk) => boolean(), optional(:payload_m) => non_neg_integer() }
@type match() :: %{ optional(:value) => match_value(), optional(:text) => String.t(), optional(:any) => [match_value()], optional(:except) => [match_value()] }
@type match_any() :: %{any: [match_value()]}
@type match_except() :: %{except: [match_value()]}
@type multivector() :: [dense_vector()]
@type named_vector() :: %{name: String.t(), vector: unnamed_vector()}
@type optimizers_config() :: %{ optional(:deleted_threshold) => number(), optional(:vacuum_min_vector_number) => non_neg_integer(), optional(:default_segment_number) => non_neg_integer(), optional(:max_segment_size) => non_neg_integer(), optional(:memmap_threshold) => non_neg_integer(), optional(:indexing_threshold) => non_neg_integer(), optional(:flush_interval_sec) => non_neg_integer(), optional(:max_optimization_threads) => pos_integer() }
@type ordering() :: :weak | :medium | :strong
@type point() :: %{ :id => extended_point_id(), optional(:vector) => vector(), optional(:payload) => map() }
@type point_id_list() :: point_ids()
@type point_ids() :: [extended_point_id()]
@type quantization_config() :: map()
@type request_body() :: map()
@type request_options() :: keyword()
@type result(response) :: {:ok, response} | {:error, Qdrant.Error.t()}
@type score_threshold() :: number()
@type sparse_vector() :: %{indices: [non_neg_integer()], values: [number()]}
@type unnamed_vector() :: dense_vector() | sparse_vector() | multivector()
@type vector() :: unnamed_vector() | named_vector()
@type with_payload_interface() :: boolean() | [String.t()] | payload_selector()