ClickHouse/docs/es/query_language/functions/url_functions.md
2020-03-30 11:25:29 +03:00

7.5 KiB
Raw Blame History

machine_translated
true

Funciones para trabajar con URL

Todas estas funciones no siguen el RFC. Se simplifican al máximo para mejorar el rendimiento.

Funciones que extraen partes de una URL

Si la parte relevante no está presente en una URL, se devuelve una cadena vacía.

protocolo

Extrae el protocolo de una URL.

Ejemplos de valores típicos devueltos: http, https, ftp, mailto, tel, magnet…

dominio

Extrae el nombre de host de una dirección URL.

domain(url)

Parámetros

La URL se puede especificar con o sin un esquema. Ejemplos:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Para estos ejemplos, el domain función devuelve los siguientes resultados:

some.svn-hosting.com
some.svn-hosting.com
yandex.com

Valores devueltos

  • Nombre de host. Si ClickHouse puede analizar la cadena de entrada como una URL.
  • Cadena vacía. Si ClickHouse no puede analizar la cadena de entrada como una URL.

Tipo: String.

Ejemplo

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                                   │
└────────────────────────────────────────────────────────┘

Nuestros servicios

Devuelve el dominio y no elimina más de uno www. desde el principio de la misma, si está presente.

topLevelDomain

Extrae el dominio de nivel superior de una URL.

topLevelDomain(url)

Parámetros

La URL se puede especificar con o sin un esquema. Ejemplos:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Valores devueltos

  • Nombre de dominio. Si ClickHouse puede analizar la cadena de entrada como una URL.
  • Cadena vacía. Si ClickHouse no puede analizar la cadena de entrada como una URL.

Tipo: String.

Ejemplo

SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com                                                                │
└────────────────────────────────────────────────────────────────────┘

FirstSignificantSubdomain

Devuelve el “first significant subdomain”. Este es un concepto no estándar específico de Yandex.Métrica. El primer subdominio significativo es un dominio de segundo nivel si es com, net, org, o co. De lo contrario, es un dominio de tercer nivel. Por ejemplo, firstSignificantSubdomain (https://news.yandex.ru/Número yandex, firstSignificantSubdomain (https://news.yandex.com.tr/Número yandex. La lista de “insignificant” dominios de segundo nivel y otros detalles de implementación pueden cambiar en el futuro.

cutToFirstSignificantSubdomain

Devuelve la parte del dominio que incluye subdominios de nivel superior “first significant subdomain” (véase la explicación anterior).

Por ejemplo, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'.

camino

Devuelve la ruta de acceso. Ejemplo: /top/news.html La ruta de acceso no incluye la cadena de consulta.

pathFull

Lo mismo que el anterior, pero incluyendo cadena de consulta y fragmento. Ejemplo: /top/news.html?Página = 2 # comentarios

queryString

Devuelve la cadena de consulta. Ejemplo: page=1&lr=213. query-string no incluye el signo de interrogación inicial, así como # y todo después de #.

fragmento

Devuelve el identificador de fragmento. el fragmento no incluye el símbolo hash inicial.

queryStringAndFragment

Devuelve la cadena de consulta y el identificador de fragmento. Ejemplo: page=1#29390.

extractURLParameter(URL, nombre)

Devuelve el valor de la name parámetro en la URL, si está presente. De lo contrario, una cadena vacía. Si hay muchos parámetros con este nombre, devuelve la primera aparición. Esta función funciona bajo el supuesto de que el nombre del parámetro está codificado en la URL exactamente de la misma manera que en el argumento pasado.

extractURLParameters (URL)

Devuelve una matriz de cadenas name=value correspondientes a los parámetros de URL. Los valores no se decodifican de ninguna manera.

ExtractURLParameterNames (URL)

Devuelve una matriz de cadenas de nombre correspondientes a los nombres de los parámetros de URL. Los valores no se decodifican de ninguna manera.

URLJerarquía (URL)

Devuelve una matriz que contiene la URL, truncada al final por los símbolos /,? en la ruta y la cadena de consulta. Los caracteres separadores consecutivos se cuentan como uno. El corte se realiza en la posición después de todos los caracteres separadores consecutivos.

URLPathHierarchy (URL)

Lo mismo que el anterior, pero sin el protocolo y el host en el resultado. El elemento / (raíz) no está incluido. Ejemplo: la función se utiliza para implementar informes de árbol de la URL en Yandex. Métrica.

URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
    '/browse/',
    '/browse/CONV-6788'
]

decodeURLComponent (URL)

Devuelve la dirección URL decodificada. Ejemplo:

SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘

Funciones que eliminan parte de una URL.

Si la URL no tiene nada similar, la URL permanece sin cambios.

Sistema abierto.

Elimina no más de uno www. desde el principio del dominio de la URL, si está presente.

cutQueryString

Quita la cadena de consulta. El signo de interrogación también se elimina.

cutFragment

Quita el identificador de fragmento. El signo de número también se elimina.

cutQueryStringAndFragment

Quita la cadena de consulta y el identificador de fragmento. El signo de interrogación y el signo de número también se eliminan.

cutURLParameter(URL, nombre)

Elimina el name Parámetro URL, si está presente. Esta función funciona bajo el supuesto de que el nombre del parámetro está codificado en la URL exactamente de la misma manera que en el argumento pasado.

Artículo Original