Mapping types

arrays or custom schemas.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `annotated-text` [`String`](/docs/sql-reference/data-types/string) No built-in support for entity-aware search or annotations.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `completion`, `search_as_you_type` NA No native autocomplete or suggester engine. Can be reproduced with `String` and [search functions](/docs/sql-reference/functions/string-search-functions).| `semantic_text` NA No native semantic search - generate embeddings and use vector search.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `token_count` [`Int32`](/docs/sql-reference/data-types/int-uint) Use during ingestion to compute token count manually e.g. `length(tokens())` function e.g. with a Materialized column| `dense_vector` [`Array(Float32)`](/docs/sql-reference/data-types/array) Use arrays for embedding storage|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `sparse_vector` [`Map(UInt32, Float32)`](/docs/sql-reference/data-types/map) Simulate sparse vectors with maps. No native sparse vector support.|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `rank_feature` / `rank_features` [`Float32`](/docs/sql-reference/data-types/float), [`Array(Float32)`](/docs/sql-reference/data-types/array) No native query-time boosting, but can be modeled manually in scoring logic.|  |  |  |  |  |  |  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | `geo_point` [`Tuple(Float64, Float64)`](/docs/sql-reference/data-types/tuple) or [`Point`](/docs/sql-reference/data-types/geo#point) Use tuple of (latitude, longitude). [`Point`](/docs/sql-reference/data-types/geo#point) is available as a ClickHouse type.| `geo_shape`, `shape` [`Ring`](/docs/sql-reference/data-types/geo#ring), [`LineString`](/docs/sql-reference/data-types/geo#linestring), [`MultiLineString`](/docs/sql-reference/data-types/geo#multilinestring), [`Polygon`](/docs/sql-reference/data-types/geo#polygon), [`MultiPolygon`](/docs/sql-reference/data-types/geo#multipolygon) Native support for geo shapes and spatial indexing.|  |  |  |  |  |  | | --- | --- | --- | --- | --- | --- | | `percolator` NA No concept of indexing queries. Use standard SQL + Incremental Materialized Views instead.|  |  |  | | --- | --- | --- | | `version` [`String`](/docs/sql-reference/data-types/string) ClickHouse doesn't have a native version type. Store versions as strings and use custom UDFs functions to perform semantic comparisons if needed. Consider normalizing to numeric formats if range queries are required. | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |