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.

Examples of typical returned values: 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/’) = ‘yandex’, firstSignificantSubdomain (‘https://news.yandex.com.tr/’) = ‘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

Rating: 4.2 - 6 votes

Was this content helpful?
★★★★☆