boolean | UInt8 or Bool | 新しいバージョンでは、ClickHouse は UInt8 の別名として Boolean をサポートしています。 |
keyword | String | 完全一致でのフィルタリング、グループ化、ソートに使用されます。 |
text | String | ClickHouse の全文検索機能には制限があります。トークン化には、tokens などの関数と array functions を組み合わせたカスタムロジックが必要です。 |
long | Int64 | 64 ビット符号付き整数。 |
integer | Int32 | 32 ビット符号付き整数。 |
short | Int16 | 16 ビット符号付き整数。 |
byte | Int8 | 8 ビット符号付き整数。 |
unsigned_long | UInt64 | 符号なし 64 ビット整数。 |
double | Float64 | 64 ビット浮動小数点数。 |
float | Float32 | 32 ビット浮動小数点数。 |
half_float | Float32 or BFloat16 | 最も近い対応型です。ClickHouse には 16 ビット浮動小数点型はありません。ClickHouse には BFloat16 がありますが、これは IEEE-754 の half-float とは異なります。half-float はより狭い範囲で高い精度を提供する一方、bfloat16 は精度を犠牲にする代わりにより広い範囲を扱えるため、機械学習 workloads により適しています。 |
scaled_float | Decimal(x, y) | 固定小数点数値を格納します。 |
date | DateTime | 秒精度の日付型に相当します。 |
date_nanos | DateTime64 | ClickHouse は DateTime64(9) によりナノ秒精度をサポートしています。 |
binary | String, FixedString(N) | バイナリフィールドでは base64 デコードが必要です。 |
ip | IPv4, IPv6 | ネイティブの IPv4 および IPv6 型を利用できます。 |
object | Nested, Map, Tuple, JSON | ClickHouse では、Nested や JSON を使って JSON ライクなオブジェクトを表現できます。 |
flattened | String | Elasticsearch の flattened 型は、JSON オブジェクト全体を単一のフィールドとして格納し、完全なマッピングなしでネストされたキーに柔軟かつスキーマレスにアクセスできるようにします。ClickHouse では、同様の機能を String type で実現できますが、処理は materialized view で行う必要があります。 |
nested | Nested | ClickHouse の Nested カラムは、flatten_nested=0 を使用することを前提とすれば、グループ化されたサブフィールドに対して同様のセマンティクスを提供します。 |
join | NA | 親子関係に相当する直接的な概念はありません。テーブル間の joins がサポートされているため、ClickHouse では不要です。 |
alias | Alias column modifier | 別名はフィールド修飾子を通じて サポートされています。これらの alias には関数も適用できます。例: size String ALIAS formatReadableSize(size_bytes) |
range types (*_range) | Tuple(start, end) or Array(T) | ClickHouse にはネイティブの range 型はありませんが、数値や日付の範囲は Tuple(start, end) または Array 構造で表現できます。IP 範囲 (ip_range) については、CIDR 値を String として格納し、isIPAddressInRange() のような関数で評価します。あるいは、効率的なフィルタリングのために ip_trie ベースの lookup dictionaries を検討してください。 |
aggregate_metric_double | AggregateFunction(...) and SimpleAggregateFunction(...) | 集計関数の状態と materialized view を使用して、事前に集計されたメトリクスを表現します。すべての aggregation functions は aggregate states をサポートしています。 |
histogram | Tuple(Array(Float64), Array(UInt64)) | buckets とカウントは、配列またはカスタムスキーマを使って手動で表現します。 |
annotated-text | String | entity-aware search や annotations は組み込みではサポートされていません。 |
completion, search_as_you_type | NA | ネイティブのオートコンプリート機能や suggester エンジンはありません。String と search functions を使って再現できます。 |
semantic_text | NA | ネイティブの semantic search はありません。embeddings を生成し、vector search を使用します。 |
token_count | Int32 | インジェスト時に token count を手動で計算するために使用します。たとえば length(tokens()) 関数を Materialized column と組み合わせて使用します |
dense_vector | Array(Float32) | embeddings の格納には配列を使用します |
sparse_vector | Map(UInt32, Float32) | map を使ってスパースベクトルを表現します。ネイティブの sparse vector サポートはありません。 |
rank_feature / rank_features | Float32, Array(Float32) | クエリ時のネイティブなブースティングには対応していませんが、スコアリングロジックで手動で表現できます。 |
geo_point | Tuple(Float64, Float64) または Point | (緯度, 経度) のタプルを使用します。Point も ClickHouse の型として利用できます。 |
geo_shape, shape | Ring, LineString, MultiLineString, Polygon, MultiPolygon | Geo 形状と空間索引をネイティブでサポートしています。 |
percolator | NA | クエリを索引化するという概念はありません。代わりに、標準 SQL + インクリメンタルmaterialized view を使用してください。 |
version | String | ClickHouse にはネイティブのバージョン型はありません。バージョンは文字列として保存し、必要に応じてカスタム UDFs を使ってセマンティック比較を行ってください。範囲クエリが必要な場合は、数値フォーマットへの正規化を検討してください。 |