7.9 KiB
machine_translated | machine_translated_rev | toc_priority | toc_title |
---|---|---|---|
true | d734a8e46d |
54 | Urlの操作 |
Urlを操作するための関数
これらの関数はすべてrfcに従いません。 それらは改善された性能のために最大限に簡単である。
URLの一部を抽出する関数
関連する部分がurlに存在しない場合は、空の文字列が返されます。
プロトコル
URLからプロトコルを抽出します。
Examples of typical returned values: http, https, ftp, mailto, tel, magnet…
ドメイン
URLからホスト名を抽出します。
domain(url)
パラメータ
url
— URL. Type: 文字列.
URLは、スキームの有無にかかわらず指定できます。 例:
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
これらの例では、 domain
関数は、次の結果を返します:
some.svn-hosting.com
some.svn-hosting.com
yandex.com
戻り値
- ホスト名。 clickhouseが入力文字列をurlとして解析できる場合。
- 空の文字列。 clickhouseが入力文字列をurlとして解析できない場合。
タイプ: String
.
例えば
SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
┌─domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')─┐
│ some.svn-hosting.com │
└────────────────────────────────────────────────────────┘
ドメインウィズなしwww
ドメインを返し、複数のドメインを削除します ‘www.’ それの初めから、存在する場合。
topleveldomaincomment
URLからトップレベルドメインを抽出します。
topLevelDomain(url)
パラメータ
url
— URL. Type: 文字列.
URLは、スキームの有無にかかわらず指定できます。 例:
svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/
戻り値
- ドメイン名。 clickhouseが入力文字列をurlとして解析できる場合。
- 空の文字列。 clickhouseが入力文字列をurlとして解析できない場合。
タイプ: String
.
例えば
SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com │
└────────────────────────────────────────────────────────────────────┘
最初のサブドメイン
を返します “first significant subdomain”. これはYandex固有の非標準的な概念です。メトリカ 最初の重要なサブドメインは、セカンドレベルドメインです。 ‘com’, ‘net’, ‘org’、または ‘co’. それ以外の場合は、サードレベルのドメインです。 例えば, firstSignificantSubdomain (‘https://news.yandex.ru/’) = ‘yandex’, firstSignificantSubdomain (‘https://news.yandex.com.tr/’) = ‘yandex’
. のリスト “insignificant” 二次レベルドメインおよびその他の実施内容に変化する可能性があります。
cutToFirstSignificantSubdomain
トップレベルのサブドメインを含むドメインの部分を返します。 “first significant subdomain” (上記の説明を参照)。
例えば, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'
.
パス
パスを返します。 例えば: /top/news.html
パスにはクエリ文字列は含まれません。
pathFull
上記と同じですが、クエリ文字列とフラグメントを含みます。 例:/トップ/ニュース。html?ページ=2#コメント
クエリ文字列
クエリ文字列を返します。 例:ページ=1&lr=213。 query-stringには、最初の疑問符と#と#後のすべてが含まれていません。
断片
フラグメント識別子を返します。 fragmentには、最初のハッシュ記号は含まれません。
queryStringAndFragment
クエリ文字列とフラグメント識別子を返します。 例:ページ=1#29390.
extractURLParameter(URL,名前)
の値を返します ‘name’ URL内にパラメータが存在する場合。 それ以外の場合は、空の文字列。 この名前のパラメータが多数ある場合は、最初のオカレンスが返されます。 この関数は、パラメータ名が渡された引数とまったく同じ方法でURLにエンコードされるという前提の下で機能します。
extractURLParameters(URL)
URLパラメータに対応するname=value文字列の配列を返します。 値は決してデコードされません。
extractURLParameterNames(URL)
URLパラメータの名前に対応する名前文字列の配列を返します。 値は決してデコードされません。
URLHierarchy(URL)
最後に/,?記号で切り捨てられたurlを含む配列を返します。 パスとクエリ文字列で。 連続セパレータ文字として数えます。 カットは、すべての連続した区切り文字の後の位置に作られています。
URLPathHierarchy(URL)
上記と同じですが、結果のプロトコルとホストはありません。 要素(ルート)は含まれません。 例:この関数は、ツリーを実装するために使用されるyandexのurlを報告します。 メトリック。
URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
'/browse/',
'/browse/CONV-6788'
]
decodeURLComponent(URL)
復号化されたurlを返します。 例えば:
SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘
URLの一部を削除する関数。
URLに類似したものがない場合、URLは変更されません。
cutWWW
一つ以下を削除します ‘www.’ URLのドメインの先頭から、存在する場合。
cutQueryString
クエリ文字列を削除します。 疑問符も削除されます。
カットフラグメント
フラグメント識別子を削除します。 番号記号も削除されます。
cutQueryStringAndFragment
クエリ文字列とフラグメント識別子を削除します。 疑問符と番号記号も削除されます。
cutURLParameter(URL,名前)
削除する ‘name’ URLパラメーターがある場合。 この関数は、パラメータ名が渡された引数とまったく同じ方法でURLにエンコードされるという前提の下で機能します。