以下のドキュメントは、
system.functions system table から生成されています。alphaTokens
a-z および A-Z の範囲に含まれる連続したバイト列からなる部分文字列を抽出し、それらの部分文字列の配列を返します。
構文
splitByAlpha
引数
s— 分割する文字列。Stringmax_substrings— 任意。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、この関数は可能な限り多くの部分文字列を返します。Int64
s から抽出された部分文字列の配列を返します。Array(String)
例
使用例
Query
Response
arrayStringConcat
array_to_string
引数
arr— 連結する配列。Array(T)separator— 省略可能。区切り文字列。デフォルトは空文字列です。const String
String
例
使用例
Query
Response
extractAllGroupsVertical
extractAllGroups
引数
s— 抽出対象の入力文字列。StringまたはFixedStringregexp— マッチに使用する正規表現。const Stringまたはconst FixedString
Array(Array(String))
例
使用例
Query
Response
ngrams
N の N-gram に分割します。
構文
s— 入力文字列。StringまたはFixedStringN— N-gram の長さ。const UInt8/16/32/64
Array(String)
例
使用例
Query
Response
reverseBySeparator
- reverseBySeparator(‘www.google.com’) は ‘com.google.www’ を返します
- reverseBySeparator(‘a/b/c’, ’/’) は ‘c/b/a’ を返します
- reverseBySeparator(‘x::y::z’, ’::’) は ‘z::y::x’ を返します
string— 各部分の順序を逆にする入力文字列。Stringseparator— 各部分の識別に使用する区切り文字列。指定しない場合は ’.’ (ドット) を使用します。デフォルト: ’.’String
String
例
基本的なドメインの反転
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
splitByChar
separator で文字列を分割し、部分文字列の配列を返します。
区切り文字が文字列の先頭または末尾にある場合や、区切り文字が連続して複数出現する場合は、空の部分文字列が生成されることがあります。
設定
splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。- 区切り文字が文字列の先頭または末尾にある
- 区切り文字が連続して複数出現する
- 元の文字列
sが空である
separator— 区切り文字は 1 バイト文字である必要があります。Strings— 分割対象の文字列です。Stringmax_substrings— 任意です。max_substrings > 0の場合、返される配列に含まれる部分文字列は最大max_substrings個です。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値は0です。Int64
Array(String)
例
使用例
Query
Response
splitByNonAlpha
設定
splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。s— 分割対象の文字列。Stringmax_substrings— 省略可。max_substrings > 0の場合、返される部分文字列の数はmax_substrings個以下になります。それ以外の場合、この関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
s から抽出された部分文字列の配列を返します。Array(String)
例
使用例
Query
Response
splitByRegexp
- 空でない正規表現の一致が文字列の先頭または末尾にある場合
- 空でない正規表現の一致が連続して複数回発生する場合
- 正規表現が空でなく、元の文字列 string が空の場合。
設定
splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。regexp— 正規表現。定数。StringまたはFixedStrings— 分割対象の文字列。Stringmax_substrings— 任意。max_substrings > 0の場合、返される部分文字列の数は最大でmax_substringsになります。それ以外の場合、この関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
s から抽出された部分文字列の配列を返します。Array(String)
例
使用例
Query
Response
Query
Response
splitByString
separator を使って文字列を分割し、部分文字列の配列を返します。
文字列 separator が空の場合、文字列 s は1文字ずつの配列に分割されます。
次の場合、空の部分文字列が含まれることがあります。
- 空でない区切り文字が文字列の先頭または末尾にある場合
- 空でない区切り文字が連続して複数ある場合
- 区切り文字が空でなく、元の文字列
sが空の場合
splitby_max_substrings_includes_remaining_string 設定 (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。separator— 区切り文字。Strings— 分割対象の文字列。Stringmax_substrings— 任意。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、この関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
s から抽出された部分文字列の配列を返します。 Array(String)
例
使用例
Query
Response
Query
Response
splitByWhitespace
設定
splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 のときに、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。s— 分割対象の文字列。Stringmax_substrings— 任意。max_substrings > 0の場合、返される部分文字列の数はmax_substringsを超えません。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
s から選択された部分文字列の配列を返します。Array(String)
例
使用例
Query
Response
tokens
splitByNonAlphaは、ASCII の英数字以外の文字で文字列を分割します (関数 splitByNonAlpha も参照) 。splitByString(S)は、ユーザー定義の区切り文字列Sで文字列を分割します (関数 splitByString も参照) 。区切り文字は省略可能なパラメーターで指定できます。たとえばtokens(value, 'splitByString', [', ', '; ', '\n', '\\'])のように指定します。なお、各区切り文字列は複数文字で構成できます (例では', ') 。明示的に指定しない場合、デフォルトの区切り文字リストは単一の空白文字[' ']です。asciiCJKは、Unicode の単語境界規則 (UAX #29 に類似) を使用して文字列をトークンに分割します。ASCII の英数字およびアンダースコアは、コネクタ (文字には:、同種の文字には.と') とともにトークンを形成します。非 ASCII の Unicode 文字は 1 文字単位のトークンになります。ngrams(N)は、文字列を同じ長さのN-gram に分割します (関数 ngrams も参照) 。N-gram の長さは、1 から 8 までの省略可能な整数パラメーターで指定できます。たとえばtokens(value, 'ngrams', 3)のように指定します。明示的に指定しない場合、デフォルトの ngram サイズは 3 です。sparseGrams(min_length, max_length, min_cutoff_length)は、文字数がmin_length以上max_length以下 (両端含む) の可変長 n-gram に文字列を分割します (関数 sparseGrams も参照) 。明示的に指定しない場合、min_lengthとmax_lengthのデフォルト値はそれぞれ 3 と 100 です。パラメーターmin_cutoff_lengthを指定すると、長さがmin_cutoff_length以上の n-gram のみが返されます。ngrams(N)と比べると、sparseGramsトークナイザーは可変長の N-gram を生成するため、元のテキストをより柔軟に表現できます。たとえばtokens(value, 'sparseGrams', 3, 5, 4)は、入力文字列から内部的に 3-, 4-, 5-gram を生成しますが、返されるのは 4-gram と 5-gram のみです。arrayはトークン化を行いません。つまり、各行の値全体が 1 つのトークンになります (関数 array も参照) 。
splitByString トークナイザーでは、トークンが プレフィックスコード を構成していない場合、通常は長い区切り文字が優先的にマッチするようにしたいはずです。
そのためには、区切り文字を長さの降順で渡してください。
たとえば、separators = ['%21', '%'] の場合、文字列 %21abc は ['abc'] としてトークン化されます。一方、separators = ['%', '%21'] の場合は ['21ac'] にトークン化されます (これはおそらく意図した結果ではありません) 。
構文
value— 入力文字列です。StringまたはFixedStringtokenizer— 使用するトークナイザーです。有効な引数はsplitByNonAlpha、splitByString、asciiCJK、ngrams、sparseGrams、arrayです。省略可能で、明示的に設定しない場合のデフォルトはsplitByNonAlphaです。const Stringn— 引数tokenizerがngramsの場合にのみ使用します。N-gram の長さを指定する省略可能なパラメータです。明示的に設定しない場合のデフォルトは3です。const UInt8separators— 引数tokenizerがsplitの場合にのみ使用します。区切り文字列を指定する省略可能なパラメータです。明示的に設定しない場合のデフォルトは[' ']です。const Array(String)min_length— 引数tokenizerがsparseGramsの場合にのみ使用します。最小グラム長を指定する省略可能なパラメータで、デフォルトは3です。const UInt8max_length— 引数tokenizerがsparseGramsの場合にのみ使用します。最大グラム長を指定する省略可能なパラメータで、デフォルトは100です。const UInt8min_cutoff_length— 引数tokenizerがsparseGramsの場合にのみ使用します。最小カットオフ長を指定する省略可能なパラメータです。const UInt8
Array
例
デフォルトのトークナイザー
Query
Response
Query
Response
tokensForLikePattern
tokens 関数とは異なり、この関数は LIKE パターンの特性
(先頭および末尾のワイルドカード文字など) を考慮し、パターンマッチングに有用な
トークンを抽出するための、トークナイザー固有のルールを適用します。
この関数は tokens 関数と同じ引数セットをサポートします。tokenizer の後に続く
追加の引数は、選択したトークナイザーに応じて解釈されます
(たとえば、ngrams の n、splitByString の separators、
sparseGrams の min_length / max_length [/ min_cutoff_length]) 。
この関数は主にデバッグおよびテスト用途を想定しており、
LIKE パターンに対するトークン化の挙動を解析するために内部で使用されます。
構文
value— 入力文字列です。StringまたはFixedStringtokenizer— 使用するトークナイザーです。有効な値はsplitByNonAlpha、splitByString、asciiCJK、ngrams、sparseGrams、arrayです。省略可能で、明示的に設定しない場合のデフォルトはsplitByNonAlphaです。const Stringn— 引数tokenizerがngramsの場合にのみ使用されます。N-gram の長さを指定する省略可能なパラメーターです。明示的に設定しない場合のデフォルトは3です。const UInt8separators— 引数tokenizerがsplitの場合にのみ使用されます。区切り文字列を指定する省略可能なパラメーターです。明示的に設定しない場合のデフォルトは[' ']です。const Array(String)min_length— 引数tokenizerがsparseGramsの場合にのみ使用されます。最小グラム長を指定する省略可能なパラメーターで、デフォルトは3です。const UInt8max_length— 引数tokenizerがsparseGramsの場合にのみ使用されます。最大グラム長を指定する省略可能なパラメーターで、デフォルトは100です。const UInt8min_cutoff_length— 引数tokenizerがsparseGramsの場合にのみ使用されます。最小カットオフ長を指定する省略可能なパラメーターです。const UInt8
Array
例
デフォルトのトークナイザー
Query
Response