아래 문서는
system.functions 시스템 테이블을 기반으로 생성됩니다.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-그램으로 분할합니다.
구문
s— 입력 문자열.String또는FixedStringN— n-그램의 길이.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
- 비어 있지 않은 정규식 일치가 문자열의 시작 또는 끝에서 발생하는 경우
- 비어 있지 않은 정규식 일치가 여러 번 연속으로 발생하는 경우
- 정규식은 비어 있지 않지만 원래 문자열이 비어 있는 경우
설정
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를 단일 문자 배열로 분할합니다.
다음과 같은 경우에는 빈 부분 문자열이 생성될 수 있습니다.
- 비어 있지 않은 구분자가 문자열의 시작 또는 끝에 있는 경우
- 비어 있지 않은 구분자가 여러 번 연속해서 나타나는 경우
- 구분자는 비어 있지 않지만 원래 문자열
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는 유니코드 단어 경계 규칙(UAX #29와 유사)을 사용해 문자열을 토큰으로 분할합니다. ASCII 영숫자와 밑줄 문자는 연결자와 함께 토큰을 형성합니다(문자의 경우:, 같은 유형의 문자의 경우.및'). ASCII가 아닌 유니코드 문자는 한 글자 토큰이 됩니다.ngrams(N)는 문자열을 동일한 길이의N-그램으로 분할합니다(함수 ngrams도 참조하십시오). ngram 길이는 1~8 사이의 선택적 정수 매개변수로 지정할 수 있습니다. 예:tokens(value, 'ngrams', 3). 명시적으로 지정하지 않으면 기본 ngram 크기는 3입니다.sparseGrams(min_length, max_length, min_cutoff_length)는 문자열을 최소min_length, 최대max_length(포함) 길이의 가변 길이 n-그램으로 분할합니다(함수 sparseGrams도 참조하십시오). 명시적으로 지정하지 않으면min_length와max_length의 기본값은 각각 3과 100입니다.min_cutoff_length매개변수를 제공하면 길이가min_cutoff_length이상인 n-그램만 반환됩니다.ngrams(N)와 비교하면sparseGrams토크나이저는 가변 길이 N-그램을 생성하므로 원본 텍스트를 더 유연하게 표현할 수 있습니다. 예를 들어tokens(value, 'sparseGrams', 3, 5, 4)는 내부적으로 입력 문자열에서 3-, 4-, 5-그램을 생성하지만, 4-그램과 5-그램만 반환합니다.array는 토큰화를 수행하지 않습니다. 즉, 각 행의 값 자체가 하나의 토큰입니다(함수 array도 참조하십시오).
splitByString 토크나이저의 경우, 토큰들이 접두 코드를 이루지 않으면 일반적으로 더 긴 구분자가 먼저 매칭되도록 하는 것이 좋습니다.
이를 위해 구분자를 길이 내림차순으로 전달하십시오.
예를 들어 구분자 = ['%21', '%']이면 문자열 %21abc는 ['abc']로 토큰화되지만, 구분자 = ['%', '%21']이면 ['21ac']로 토큰화됩니다(이는 일반적으로 의도한 결과가 아닙니다).
구문
value— 입력 문자열입니다.String또는FixedStringtokenizer— 사용할 토크나이저입니다. 유효한 인수는splitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGrams,array입니다. 선택 사항이며, 명시적으로 설정하지 않으면 기본값은splitByNonAlpha입니다.const Stringn— 인수tokenizer가ngrams인 경우에만 적용됩니다. ngram의 길이를 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은3입니다.const UInt8separators— 인수tokenizer가split인 경우에만 적용됩니다. 구분자 문자열을 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은[' ']입니다.const Array(String)min_length— 인수tokenizer가sparseGrams인 경우에만 적용됩니다. 최소 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 3입니다.const UInt8max_length— 인수tokenizer가sparseGrams인 경우에만 적용됩니다. 최대 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 100입니다.const UInt8min_cutoff_length— 인수tokenizer가sparseGrams인 경우에만 적용됩니다. 최소 cutoff 길이를 지정하는 선택적 매개변수입니다.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인 경우에만 사용됩니다. ngrams의 길이를 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은3입니다.const UInt8separators— 인수tokenizer가split인 경우에만 사용됩니다. 구분자 문자열을 지정하는 선택적 매개변수입니다. 명시적으로 설정하지 않으면 기본값은[' ']입니다.const Array(String)min_length— 인수tokenizer가sparseGrams인 경우에만 사용됩니다. 최소 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 3입니다.const UInt8max_length— 인수tokenizer가sparseGrams인 경우에만 사용됩니다. 최대 gram 길이를 지정하는 선택적 매개변수이며, 기본값은 100입니다.const UInt8min_cutoff_length— 인수tokenizer가sparseGrams인 경우에만 사용됩니다. 최소 cutoff 길이를 지정하는 선택적 매개변수입니다.const UInt8
Array
예시
기본 토크나이저
Query
Response