boolean | UInt8 ou Bool | O ClickHouse oferece suporte a Boolean como alias de UInt8 nas versões mais recentes. |
keyword | String | Usado para filtragem por correspondência exata, agrupamento e ordenação. |
text | String | A busca em texto completo é limitada no ClickHouse; a tokenização exige lógica personalizada usando funções como tokens, combinadas com funções de array. |
long | Int64 | Inteiro com sinal de 64 bits. |
integer | Int32 | Inteiro com sinal de 32 bits. |
short | Int16 | Inteiro com sinal de 16 bits. |
byte | Int8 | Inteiro com sinal de 8 bits. |
unsigned_long | UInt64 | Inteiro sem sinal de 64 bits. |
double | Float64 | Ponto flutuante de 64 bits. |
float | Float32 | Ponto flutuante de 32 bits. |
half_float | Float32 ou BFloat16 | Equivalente mais próximo. O ClickHouse não tem um float de 16 bits. O ClickHouse tem BFloat16 — ele é diferente de half-float IEEE-754: o half-float oferece maior precisão com um intervalo menor, enquanto o bfloat16 sacrifica precisão em troca de um intervalo maior, o que o torna mais adequado para workloads de machine learning. |
scaled_float | Decimal(x, y) | Armazena valores numéricos de ponto fixo. |
date | DateTime | Tipos de data equivalentes com precisão de segundos. |
date_nanos | DateTime64 | O ClickHouse oferece suporte a precisão de nanossegundos com DateTime64(9). |
binary | String, FixedString(N) | Requer decodificação em base64 para campos binários. |
ip | IPv4, IPv6 | Tipos nativos IPv4 e IPv6 disponíveis. |
object | Nested, Map, Tuple, JSON | O ClickHouse pode modelar objetos semelhantes a JSON usando Nested ou JSON. |
flattened | String | O tipo flattened no Elasticsearch armazena objetos JSON inteiros como campos únicos, permitindo acesso flexível e sem esquema a chaves aninhadas sem mapeamento completo. No ClickHouse, funcionalidade semelhante pode ser obtida usando o tipo String, mas o processamento precisa ser feito em visões materializadas. |
nested | Nested | As colunas Nested do ClickHouse fornecem semântica semelhante para subcampos agrupados, desde que os usuários usem flatten_nested=0. |
join | NA | Não há um conceito direto de relacionamentos pai-filho. Isso não é necessário no ClickHouse, já que junções entre tabelas são suportadas. |
alias | modificador de coluna Alias | Aliases são suportados por meio de um modificador de campo. Funções podem ser aplicadas a esses aliases, por exemplo size String ALIAS formatReadableSize(size_bytes) |
range types (*_range) | Tuple(start, end) ou Array(T) | O ClickHouse não tem um tipo de intervalo nativo, mas intervalos numéricos e de data podem ser representados usando estruturas Tuple(start, end) ou Array. Para intervalos de IP (ip_range), armazene valores CIDR como String e avalie com funções como isIPAddressInRange(). Como alternativa, considere dicionários de lookup baseados em ip_trie para filtragem eficiente. |
aggregate_metric_double | AggregateFunction(...) e SimpleAggregateFunction(...) | Use estados de função de agregação e visões materializadas para modelar métricas pré-agregadas. Todas as funções de agregação oferecem suporte a estados agregados. |
histogram | Tuple(Array(Float64), Array(UInt64)) | Represente manualmente buckets e contagens usando arrays ou esquemas personalizados. |
annotated-text | String | Não há suporte nativo para busca com reconhecimento de entidades ou anotações. |
completion, search_as_you_type | NA | Não há mecanismo nativo de preenchimento automático ou sugestões. Pode ser reproduzido com String e funções de busca. |
semantic_text | NA | Não há busca semântica nativa — gere embeddings e use busca vetorial. |
token_count | Int32 | Use durante a ingestão para calcular manualmente a contagem de tokens, por exemplo com a função length(tokens()), como em uma coluna Materialized |
dense_vector | Array(Float32) | Use arrays para armazenar embeddings |
sparse_vector | Map(UInt32, Float32) | Simule vetores esparsos com maps. Não há suporte nativo a vetores esparsos. |
rank_feature / rank_features | Float32, Array(Float32) | Sem boosting nativo no momento da consulta, mas isso pode ser modelado manualmente na lógica de pontuação. |
geo_point | Tuple(Float64, Float64) ou Point | Use uma tupla de (latitude, longitude). Point está disponível como um tipo do ClickHouse. |
geo_shape, shape | Ring, LineString, MultiLineString, Polygon, MultiPolygon | Suporte nativo a formas geoespaciais e indexação espacial. |
percolator | NA | Não há o conceito de indexar consultas. Use SQL padrão + views materializadas incrementais em vez disso. |
version | String | O ClickHouse não tem um tipo nativo para versão. Armazene versões como strings e use funções UDF personalizadas para fazer comparações semânticas, se necessário. Considere normalizar para formatos numéricos se forem necessárias consultas por intervalo. |