メインコンテンツまでスキップ
メインコンテンツまでスキップ

ハッシュ関数

ハッシュ関数は、要素の決定論的擬似ランダムシャッフルに使用できます。

Simhashは、近い(類似の)引数に対して近似のハッシュ値を返すハッシュ関数です。

halfMD5

すべての入力パラメータを文字列として解釈し、それぞれのMD5ハッシュ値を計算します。次に、ハッシュを結合し、結果的な文字列のハッシュの最初の8バイトを取得し、それをビッグエンディアンのバイト順でUInt64として解釈します。

この関数は比較的遅く(1秒あたりプロセッサコアごとに500万の短い文字列)、sipHash64関数を代わりに使用することを検討してください。

引数

この関数は可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

UInt64データ型のハッシュ値。

MD4

文字列からMD4を計算し、結果となるバイトセットをFixedString(16)として返します。

MD5

文字列からMD5を計算し、結果となるバイトセットをFixedString(16)として返します。特にMD5が必要でない場合は、適切な暗号化128ビットハッシュとして'sipHash128'関数を代わりに使用してください。md5sumユーティリティから出力されるのと同じ結果を得るには、lower(hex(MD5(s)))を使用します。

RIPEMD160

RIPEMD-160ハッシュ値を生成します。

構文

パラメータ

  • input: 入力文字列。String

返り値

hex関数を使用して、結果を16進エンコードされた文字列として表現します。

クエリ:

sipHash64

64ビット強力なSipHashハッシュ値を生成します。

これは暗号化ハッシュ関数です。MD5ハッシュ関数よりも少なくとも3倍速く動作します。

この関数はすべての入力パラメータを文字列として解釈しますおよびそれぞれのハッシュ値を計算します。その後、次のアルゴリズムによってハッシュを結合します。

  1. 最初のハッシュ値と2番目のハッシュ値が配列に連結され、それがハッシュされます。
  2. 前に計算されたハッシュ値と3番目の入力パラメータのハッシュが同様にハッシュされます。
  3. この計算は元の入力のすべての残りのハッシュ値に対して繰り返されます。

引数

この関数は、サポートされるデータ型の任意の可変数の入力パラメータを受け取ります。

返り値

UInt64データ型のハッシュ値。

計算されたハッシュ値は、異なる引数の型の同じ入力値に対して等しい場合があることに注意が必要です。これは、異なるサイズの整数型、同じデータを持つ命名および非命名のTuple、同じデータを持つMapおよび対応するArray(Tuple(key, value))型に影響を与えます。

sipHash64Keyed

sipHash64と同様ですが、固定キーを使用せず、明示的なキー引数を受け取ります。

構文

引数

sipHash64と同様ですが、最初の引数はキーを表す2つのUInt64値のタプルです。

返り値

UInt64データ型のハッシュ値。

クエリ:

sipHash128

sipHash64のように、128ビットのハッシュ値を生成します。最終的なxor-folding状態は128ビットまで行います。

注記

この128ビットのバリアントは、リファレンス実装とは異なり、より弱いです。このバージョンは、執筆時にSipHashの公式128ビット拡張が存在しなかったために存在します。新しいプロジェクトは、sipHash128Referenceを使用することを検討するべきです。

構文

引数

sipHash64と同様。

返り値

FixedString(16)型の128ビットSipHashハッシュ値。

クエリ:

結果:

sipHash128Keyed

sipHash128と同様ですが、固定キーを使用せず、明示的なキー引数を受け取ります。

注記

この128ビットのバリアントは、リファレンス実装とは異なり、より弱いです。このバージョンは、執筆時にSipHashの公式128ビット拡張が存在しなかったために存在します。新しいプロジェクトは、sipHash128ReferenceKeyedを使用することを検討するべきです。

構文

引数

sipHash128と同様ですが、最初の引数はキーを表す2つのUInt64値のタプルです。

返り値

FixedString(16)型の128ビットSipHashハッシュ値。

クエリ:

結果:

sipHash128Reference

sipHash128と同様ですが、SipHashの元の著者からの128ビットアルゴリズムを実装しています。

構文

引数

sipHash128と同様。

返り値

FixedString(16)型の128ビットSipHashハッシュ値。

クエリ:

結果:

sipHash128ReferenceKeyed

sipHash128Referenceと同様ですが、固定キーを使用せず、明示的なキー引数を受け取ります。

構文

引数

sipHash128Referenceと同様ですが、最初の引数はキーを表す2つのUInt64値のタプルです。

返り値

FixedString(16)型の128ビットSipHashハッシュ値。

クエリ:

結果:

cityHash64

64ビットCityHashハッシュ値を生成します。

これは、非常に速い非暗号化ハッシュ関数です。文字列パラメータにはCityHashアルゴリズムを使用し、他のデータ型のパラメータには実装固有の高速非暗号化ハッシュ関数を使用します。この関数はCityHashの組み合わせメソッドを使用して最終結果を得ます。

Googleは、ClickHouseに追加された後にCityHashのアルゴリズムを変更しました。言い換えれば、ClickHouseのcityHash64とGoogleのアップストリームCityHashは現在異なる結果を生成します。ClickHouseのcityHash64はCityHash v1.0.2に対応しています。

引数

この関数は可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

UInt64データ型のハッシュ値。

コールの例:

次の例は、行の順序まで正確に全テーブルのチェックサムを計算する方法を示しています。

intHash32

任意の整数型の32ビットハッシュコードを計算します。 これは、数値に対して平均的な品質の比較的高速な非暗号化ハッシュ関数です。

構文

引数

  • int — ハッシュする整数です。(U)Int*

返り値

  • 32ビットハッシュコード。UInt32

クエリ:

結果:

intHash64

任意の整数型の64ビットハッシュコードを計算します。 これは、数値に対して平均的な品質の比較的高速な非暗号化ハッシュ関数です。 これはintHash32よりも速く動作します。

構文

引数

  • int — ハッシュする整数です。(U)Int*

返り値

  • 64ビットハッシュコード。UInt64

クエリ:

結果:

SHA1, SHA224, SHA256, SHA512, SHA512_256

文字列からSHA-1、SHA-224、SHA-256、SHA-512、SHA-512-256ハッシュを計算し、結果となるバイトセットをFixedStringとして返します。

構文

この関数はかなり遅く動作します(SHA-1はプロセッサコアごとに1秒あたり約500万の短い文字列を処理し、SHA-224とSHA-256は約220万を処理します)。特定のハッシュ関数が必要で、選択できない場合を除いて、この関数の使用をお勧めします。それでもこれらのケースでは、SELECTクエリで適用するのではなく、オフラインでこの関数を適用し、テーブルに挿入する際に値を事前に計算することをお勧めします。

引数

  • s — SHAハッシュ計算のための入力文字列。String

返り値

  • SHAハッシュとして16進未エンコードのFixedStringとして返されます。SHA-1はFixedString(20)、SHA-224はFixedString(28)、SHA-256はFixedString(32)、SHA-512はFixedString(64)として返されます。FixedString

hex関数を使用して、結果を16進エンコードされた文字列として表現します。

クエリ:

結果:

BLAKE3

BLAKE3ハッシュ文字列を計算し、結果となるバイトセットをFixedStringとして返します。

構文

この暗号化ハッシュ関数は、BLAKE3 RustライブラリでClickHouseに統合されています。この関数はかなり速く、SHA-2と同じ長さのハッシュを生成しながら、SHA-2よりも約2倍のパフォーマンスを示します。

引数

  • s - BLAKE3ハッシュ計算のための入力文字列。String

返り値

  • BLAKE3ハッシュとしてタイプFixedString(32)のバイト配列。FixedString

hex関数を使用して、結果を16進エンコードされた文字列として表現します。

クエリ:

結果:

URLHash(url[, N])

URLから得られた文字列に対して、いくつかのタイプの正規化を使用した高速で適度な品質の非暗号化ハッシュ関数です。 URLHash(s) – 終わりに/,?または#のいずれかのトレーリングシンボルがある場合、それを除去して文字列からハッシュを計算します。 URLHash(s, N) – トレーリングシンボルがある場合、NレベルのURL階層までの文字列からハッシュを計算します。 階層はURLHierarchyと同じです。

farmFingerprint64

farmHash64

64ビットFarmHashまたはフィンガープリント値を生成します。farmFingerprint64は安定して移植可能な値のため好まれます。

これらの関数は、それぞれ利用可能なメソッドからFingerprint64およびHash64メソッドを使用します。

引数

この関数は可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

UInt64データ型のハッシュ値。

javaHash

文字列, バイト, ショート, 整数, ロングからJavaHashを計算します。 このハッシュ関数は速くもなく、良い品質を持っているわけでもありません。使用する唯一の理由は、このアルゴリズムが他のシステムで既に使用されている場合で、正確に同じ結果を計算する必要がある場合です。

Javaは符号付き整数のハッシュ計算のみをサポートしているため、符号なし整数のハッシュを計算する場合は、適切な符号付きClickHouse型にキャストする必要があります。

構文

返り値

Int32データ型のハッシュ値。

クエリ:

結果:

クエリ:

結果:

javaHashUTF16LE

UTF-16LEエンコーディングで表される文字列からJavaHashを計算します。

構文

引数

  • stringUtf16le — UTF-16LEエンコーディングの文字列。

返り値

Int32データ型のハッシュ値。

UTF-16LEエンコードされた文字列を持つ正しいクエリ。

クエリ:

結果:

hiveHash

文字列からHiveHashを計算します。

これは、符号ビットをゼロにしたJavaHashに過ぎません。この関数はApache Hiveバージョン3.0より前で使用されます。このハッシュ関数は速くもなく、良い品質を持っているわけでもありません。使用する唯一の理由は、このアルゴリズムが他のシステムで既に使用されている場合で、正確に同じ結果を計算する必要がある場合です。

返り値

  • hiveHashハッシュ値。Int32

クエリ:

結果:

metroHash64

64ビットMetroHashハッシュ値を生成します。

引数

この関数は可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

UInt64データ型のハッシュ値。

jumpConsistentHash

UInt64からJumpConsistentHashを計算します。 2つの引数を受け入れます: UInt64型のキーとバケットの数。Int32を返します。 詳細については、次のリンクを参照してください: JumpConsistentHash

kostikConsistentHash

Konstantin 'kostik' OblakovによるO(1)時間とスペースの一貫したハッシュアルゴリズム。以前はyandexConsistentHashでした。

構文

エイリアス: yandexConsistentHash(後方互換性のために残されています)。

パラメータ

  • input: UInt64型のキー UInt64
  • n: バケットの数。UInt16

返り値

  • UInt16データ型のハッシュ値。

実装の詳細

n <= 32768の場合にのみ効率的です。

クエリ:

murmurHash2_32, murmurHash2_64

MurmurHash2ハッシュ値を生成します。

引数

両方の関数は、可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

  • murmurHash2_32関数はUInt32データ型のハッシュ値を返します。
  • murmurHash2_64関数はUInt64データ型のハッシュ値を返します。

gccMurmurHash

64ビットMurmurHash2ハッシュ値を、gccと同じハッシュシードを使用して計算します。ClangおよびGCCビルド間でポータブルです。

構文

引数

返り値

  • 計算されたハッシュ値。UInt64

クエリ:

結果:

kafkaMurmurHash

32ビットMurmurHash2ハッシュ値をKafkaと同じハッシュシードを使用して計算し、Default Partitionerと互換性を持たせるために最高ビットを除外します。

構文

引数

返り値

  • 計算されたハッシュ値。UInt32

クエリ:

結果:

murmurHash3_32, murmurHash3_64

MurmurHash3ハッシュ値を生成します。

引数

両方の関数は、可変数の入力パラメータを受け取ります。引数はサポートされるデータ型のいずれかであることができます。いくつかのデータ型では、引数の型が異なっていても、同じ値に対してハッシュ関数の計算結果が同じになることがあります(異なるサイズの整数、同じデータを持つ命名されたTupleと非命名のTuple、同じデータを持つMapと対応するArray(Tuple(key, value))型)。

返り値

  • murmurHash3_32関数はUInt32データ型のハッシュ値を返します。
  • murmurHash3_64関数はUInt64データ型のハッシュ値を返します。

murmurHash3_128

128ビットMurmurHash3ハッシュ値を生成します。

構文

引数

返り値

128ビットMurmurHash3ハッシュ値。FixedString(16)

クエリ:

結果:

xxh3

64ビットxxh3ハッシュ値を生成します。

構文

引数

返り値

64ビットxxh3ハッシュ値。UInt64

クエリ:

結果:

xxHash32, xxHash64

文字列からxxHashを計算します。32ビットと64ビットの2つのフレーバーがあります。

返り値

注記

返り値の型は、xxHash32の場合はUInt32xxHash64の場合はUInt64になります。

クエリ:

結果:

見よ

ngramSimHash

ASCII文字列をngramsizeシンボルのn-グラムに分割し、n-グラムsimhashを返します。ケースに敏感です。

bitHammingDistanceを使用して、半複製文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。String
  • ngramsize — n-グラムのサイズ。オプション。可能な値: 1から25までの任意の数。デフォルト値: 3UInt8

返り値

クエリ:

結果:

ngramSimHashCaseInsensitive

ASCII文字列をngramsizeシンボルのn-グラムに分割し、n-グラムsimhashを返します。ケースに無関係です。

bitHammingDistanceを使用して、半複製文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。String
  • ngramsize — n-グラムのサイズ。オプション。可能な値: 1から25までの任意の数。デフォルト値: 3UInt8

返り値

クエリ:

結果:

ngramSimHashUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、n-グラムsimhashを返します。ケースに敏感です。

bitHammingDistanceを使用して、半複製文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。String
  • ngramsize — n-グラムのサイズ。オプション。可能な値: 1から25までの任意の数。デフォルト値: 3UInt8

返り値

クエリ:

結果:

ngramSimHashCaseInsensitiveUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、n-グラムのsimhashを返します。大文字と小文字を区別しません。

bitHammingDistanceを使った半重複文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.

返される値

クエリ:

結果:

wordShingleSimHash

ASCII文字列をshinglesize単語の部分(シングル)に分割し、単語シングルのsimhashを返します。大文字と小文字を区別します。

bitHammingDistanceを使った半重複文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.

返される値

クエリ:

結果:

wordShingleSimHashCaseInsensitive

ASCII文字列をshinglesize単語の部分(シングル)に分割し、単語シングルのsimhashを返します。大文字と小文字を区別しません。

bitHammingDistanceを使った半重複文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.

返される値

クエリ:

結果:

wordShingleSimHashUTF8

UTF-8文字列をshinglesize単語の部分(シングル)に分割し、単語シングルのsimhashを返します。大文字と小文字を区別します。

bitHammingDistanceを使った半重複文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.

返される値

クエリ:

結果:

wordShingleSimHashCaseInsensitiveUTF8

UTF-8文字列をshinglesize単語の部分(シングル)に分割し、単語シングルのsimhashを返します。大文字と小文字を区別しません。

bitHammingDistanceを使った半重複文字列の検出に使用できます。計算された2つの文字列のsimhashesハミング距離が小さいほど、これらの文字列が同じである可能性が高くなります。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.

返される値

クエリ:

結果:

wyHash64

64ビットのwyHash64ハッシュ値を生成します。

構文

引数

  • string — 文字列。 String.

返される値

クエリ:

結果:

ngramMinHash

ASCII文字列をngramsizeシンボルのn-グラムに分割し、各n-グラムのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別します。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashCaseInsensitive

ASCII文字列をngramsizeシンボルのn-グラムに分割し、各n-グラムのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別しません。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、各n-グラムのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別します。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashCaseInsensitiveUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、各n-グラムのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別しません。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashArg

ASCII文字列をngramsizeシンボルのn-グラムに分割し、同じ入力でngramMinHash関数で計算された最小および最大ハッシュ付きのn-グラムを返します。大文字と小文字を区別します。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashArgCaseInsensitive

ASCII文字列をngramsizeシンボルのn-グラムに分割し、同じ入力でngramMinHashCaseInsensitive関数で計算された最小および最大ハッシュ付きのn-グラムを返します。大文字と小文字を区別しません。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashArgUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、同じ入力でngramMinHashUTF8関数で計算された最小および最大ハッシュ付きのn-グラムを返します。大文字と小文字を区別します。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

ngramMinHashArgCaseInsensitiveUTF8

UTF-8文字列をngramsizeシンボルのn-グラムに分割し、同じ入力でngramMinHashCaseInsensitiveUTF8関数で計算された最小および最大ハッシュ付きのn-グラムを返します。大文字と小文字を区別しません。

構文

引数

  • string — 文字列。 String.
  • ngramsize — n-グラムのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

wordShingleMinHash

ASCII文字列を単語の部分(シングル)に分割し、各単語シングルのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別します。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

wordShingleMinHashCaseInsensitive

ASCII文字列を単語の部分(シングル)に分割し、各単語シングルのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別しません。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

wordShingleMinHashUTF8

UTF-8文字列を単語の部分(シングル)に分割し、各単語シングルのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別します。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

wordShingleMinHashCaseInsensitiveUTF8

UTF-8文字列を単語の部分(シングル)に分割し、各単語シングルのハッシュ値を計算します。hashnum最小ハッシュを使用して最小ハッシュを計算し、hashnum最大ハッシュを使用して最大ハッシュを計算します。これらのハッシュのタプルを返します。大文字と小文字を区別しません。

tupleHammingDistanceを使った半重複文字列の検出に使用できます。2つの文字列に対して:返されたハッシュの1つが2つの文字列で同じ場合、それらの文字列は同じであると考えます。

構文

引数

  • string — 文字列。 String.
  • shinglesize — 単語シングルのサイズ。オプション。可能な値:1から25の任意の数。デフォルト値:3UInt8.
  • hashnum — 結果を計算するために使用される最小ハッシュと最大ハッシュの数。オプション。可能な値:1から25の任意の数。デフォルト値:6UInt8.

返される値

クエリ:

結果:

wordShingleMinHashArgCaseInsensitiveUTF8

UTF-8文字列をshinglesize単語ごとの部分(シングル)に分割し、同じ入力のwordShingleMinHashCaseInsensitiveUTF8関数で計算された最小および最大の単語ハッシュを持つシングルを返します。大文字と小文字は区別されません。

構文

引数

  • string — 文字列。 String
  • shinglesize — 単語シングルのサイズ。省略可能。可能な値:1から25の任意の数。デフォルト値:3UInt8
  • hashnum — 結果を計算するために使用される最小および最大ハッシュの数。省略可能。可能な値:1から25の任意の数。デフォルト値:6UInt8

返される値

クエリ:

結果:

sqidEncode

数値をYoutbeのようなID文字列としてエンコードします。 出力アルファベットはabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789です。 この関数をハッシュ化に使用しないでください - 生成されたIDは元の数値にデコードできます。

構文

エイリアス: sqid

引数

  • UInt8、UInt16、UInt32またはUInt64の数値の可変数。

返される値

sqidのString

sqidDecode

Sqidを元の数値にデコードします。 入力文字列が有効なsqidでない場合、空の配列を返します。

構文

引数

返される値

数値に変換されたsqid Array(UInt64)