Los filtros te permiten reducir y controlar los datos que devuelve una consulta, mostrando únicamente los registros que cumplen unas condiciones específicas. Son una de las herramientas más importantes del generador de consultas, ya que te ayudan a pasar de grandes volúmenes de logs a información concreta y entendible.
Cada filtro se aplica sobre un campo de la colección seleccionada y utiliza un operador que define cómo se compara el valor del campo con el valor que introduces.
Cómo funcionan los filtros
Un filtro siempre está compuesto por tres partes:
- Campo: sobre qué dato estás filtrando (IP, status code, dominio, fecha, usuario, etc.)
- Operador: cómo se compara el valor (igual, contiene, mayor que, etc.)
- Valor: lo que quieres buscar o excluir
Ejemplo:
- Campo: status code
- Operador: =
- Valor: 500
Resultado: solo se muestran los registros con error 500.
Cómo se combinan los filtros
Todos los filtros en ConnectiLogs funcionan como una condición acumulativa (AND lógico):
- Un registro solo se muestra si cumple todos los filtros a la vez
Ejemplo:
- status code = 500
- dominio = midominio.com
Resultado: solo verás errores 500 de ese dominio concreto.
Tipos de filtros
Filtro igual (=)
El operador igual (=) es el filtro más básico y también uno de los más importantes dentro de ConnectiLogs. Se utiliza para seleccionar únicamente los registros cuyo valor coincide exactamente con el valor que has definido, sin admitir variaciones, coincidencias parciales ni interpretaciones.
Es un operador de comparación estricta: lo que escribes es exactamente lo que se busca.
Cuando aplicas un filtro con el operador igual, ConnectiLogs recorre todos los registros del campo seleccionado y devuelve únicamente aquellos que cumplen esta condición exacta:
- valor del campo = valor del filtro
No se permiten diferencias de formato, texto adicional, espacios extra o variaciones.
Ejemplo básico:
Si trabajas con la colección de access logs y quieres ver únicamente los errores del servidor:
- Campo: status code
- Operador: =
- Valor: 500
El resultado será:
Solo verás registros cuyo código de estado sea exactamente 500.
Quedan excluidos automáticamente:
- 404 (no encontrado)
- 200 (correcto)
- 301 (redirección)
- cualquier otro valor
Características
- Coincidencia exacta (100%)
- No admite variaciones ni patrones
- No distingue “parcialmente correcto”
- Reduce el dataset de forma muy controlada
Errores comunes al usar "="
Al trabajar con este operador, es habitual cometer algunos errores:
- Pensar que incluye coincidencias parciales (no lo hace)
- No tener en cuenta diferencias de formato (www vs no www, mayúsculas, etc.)
- Usarlo cuando realmente se necesita un filtro tipo “like”
- Olvidar que el valor debe coincidir exactamente con el almacenado en la colección
Filtro diferente (!=)
El operador diferente (!=) es el complemento directo del operador igual. Se utiliza para excluir todos los registros cuyo valor coincida exactamente con el valor que indiques, mostrando únicamente aquellos que son distintos.
Es un operador de filtrado negativo: en lugar de definir lo que quieres ver, defines lo que quieres eliminar del resultado.
¿Cómo funciona?
Cuando aplicas un filtro con !=, ConnectiLogs evalúa cada registro del campo seleccionado y lo incluye solo si:
- valor del campo != valor del filtro
Es decir, cualquier coincidencia exacta con el valor indicado queda automáticamente fuera de la consulta.
Ejemplo básico:
Si estás analizando códigos de estado en access logs:
- Campo: status code
- Operador: !=
- Valor: 500
El resultado será:
Verás todos los registros excepto aquellos con error 500.
Esto incluye:
- 200 (correcto)
- 404 (no encontrado)
- 301 (redirección)
- cualquier otro código distinto de 500
Características:
- Exclusión exacta de valores
- Funciona como filtro inverso al "="
- Reduce el dataset eliminando ruido conocido
- Muy útil para análisis comparativos
- No admite coincidencias parciales
Errores comunes al usar !=
- Usarlo cuando realmente se quiere excluir varios valores (mejor usar not in)
- Confundirlo con filtros parciales (no funciona con coincidencias tipo “like”)
- Olvidar que solo excluye coincidencias exactas, no variaciones del valor
Filtro contiene (like) y no contiene (not like)
Los operadores like y not like se utilizan para filtrar campos de texto cuando no buscas una coincidencia exacta, sino patrones o fragmentos de texto dentro de un valor. Son especialmente útiles en ConnectiLogs porque muchos campos (como dominios, rutas, usuarios o user agents) contienen información estructurada donde no siempre conoces el valor completo.
¿Cómo funcionan?
A diferencia del operador igual (=), que exige coincidencia exacta, like permite coincidencias parciales, es decir, encontrar registros donde el texto aparece dentro del valor del campo.
- like: incluye coincidencias que contienen el patrón
- not like: excluye coincidencias que contienen el patrón
El uso del comodín %
El comportamiento de like y not like se controla mediante el símbolo %, que actúa como comodín. Este indica que puede existir cualquier texto en esa posición.
Esto permite definir tres tipos de búsqueda:
Contiene texto en cualquier posición
- Patrón: %texto%
Busca registros donde “texto” aparece en cualquier parte del valor.
Ejemplo:
- filtro: dominio like %midominio%
Resultado:
- midominio.com
- api.midominio.net
- test.midominio123.es
Empieza por un texto
- Patrón: texto%
Busca valores que comienzan exactamente con ese texto.
Ejemplo:
- filtro: dominio like midominio%
Resultado:
- midominio.com
- midominio.net
- midominio-api.com
No incluiría:
- api.midominio.com
- testmidominio.com
Termina en un texto
- Patrón: %texto
Busca valores que terminan con ese texto.
Ejemplo:
- filtro: dominio like %midominio
Resultado:
- api.midominio
- test.midominio
- logs.midominio
No incluiría:
- midominio.com
- midominio.net
¿Qué hace not like?
El operador not like funciona exactamente igual que like, pero en sentido inverso: excluye todos los registros que contengan el patrón indicado.
Ejemplo de not like
- Campo: user agent
- Operador: not like
- Valor: %bot%
Resultado:
Se excluirán todos los registros donde el user agent contenga “bot”, por ejemplo:
- googlebot
- bingbot
- cualquier crawler o script automatizado
Y se mantendrán:
- navegadores reales
- tráfico humano
- otros agentes no relacionados con bots
¿Cuándo usar like y not like?
Usar like cuando:
- No conoces el valor exacto del campo
- Quieres agrupar variantes de un mismo concepto
- Estás analizando textos estructurados (dominios, rutas, logs)
- Necesitas buscar patrones en campos largos
Usar not like cuando:
- Quieres eliminar ruido de los datos
- Necesitas excluir patrones conocidos (bots, spam, pruebas…)
- Estás limpiando resultados para análisis más precisos
- Quieres quedarte con tráfico “humano” o relevante
Diferencias importantes con otros operadores
- =: coincidencia exacta
- like: coincidencia parcial (patrón)
- !=: exclusión exacta
- not like: exclusión por patrón
Errores comunes
- Olvidar el uso de % y no obtener resultados esperados
- Usar like cuando realmente se conoce el valor exacto (mejor =)
- Usar not like en exceso y eliminar demasiados datos útiles
- No tener en cuenta que pequeñas variaciones del texto cambian el resultado
Filtro incluido en (in) y no incluido en (not in)
Los operadores in y not in se utilizan cuando necesitas trabajar con listas de valores, en lugar de comparar contra un único valor. Son especialmente útiles en ConnectiLogs porque permiten simplificar filtros múltiples en una sola condición, haciendo las consultas más sencillas.
¿Cómo funcionan?
Estos operadores comparan el valor de un campo contra un conjunto de opciones:
- in: el registro se incluye si su valor está dentro de la lista
- not in: el registro se incluye si su valor NO está dentro de la lista
Operador in (incluido en)
El operador in devuelve todos los registros cuyo valor coincide con cualquiera de los elementos de la lista definida.
Ejemplo básico:
Si estás analizando códigos de estado:
- Campo: status code
- Operador: in
- Valores: 404, 500
Resultado:
Se mostrarán únicamente los registros cuyo status code sea:
- 404
- 500
Todo lo demás queda fuera de la consulta.
Operador not in (no incluido en)
El operador not in hace lo contrario: excluye todos los registros cuyo valor esté dentro de la lista indicada.
Ejemplo básico
- Campo: status code
- Operador: not in
- Valores: [200, 301]
Resultado:
Se mostrarán todos los registros excepto:
- 200 (OK)
- 301 (redirección)
Esto es útil cuando quieres centrarte en errores o comportamientos anómalos.
¿Cuándo usar in y not in?
Usar in cuando:
- Quieres filtrar varios valores concretos al mismo tiempo
- Estás trabajando con estados, códigos o categorías limitadas
- Necesitas simplificar múltiples condiciones OR en una sola regla
- Quieres centrarte en un conjunto específico de eventos
Usar not in cuando:
- Quieres excluir varios valores conocidos
- Estás limpiando ruido (bots, tráfico interno, pruebas…)
- Necesitas analizar “todo excepto…”
- Quieres reducir resultados sin perder contexto general
Errores comunes
- Usar in cuando solo hay un valor (mejor usar =)
- Confundir in con like (no hay coincidencias parciales aquí)
- Incluir demasiados valores sin criterio claro
- No validar que todos los valores de la lista existen realmente en los datos
Filtro mayor que (>), mayor o igual que (>=), menor que (<) y menor o igual que (<=)
Estos operadores se utilizan para realizar comparaciones numéricas o temporales dentro de ConnectiLogs. Son importantes cuando necesitas trabajar con umbrales, rangos o límites, especialmente en campos como fechas, tiempos de respuesta, tamaños de archivos o cualquier valor cuantificable.
A diferencia de los filtros de texto, estos operadores no buscan coincidencias exactas o patrones, sino relaciones de orden entre valores.
¿Cómo funcionan?
Todos estos operadores comparan el valor de un campo con un valor de referencia:
- > (mayor que): el valor del campo debe ser estrictamente superior
- >= (mayor o igual que): el valor del campo debe ser superior o igual
- < (menor que): el valor del campo debe ser estrictamente inferior
- <= (menor o igual que): el valor del campo debe ser inferior o igual
Mayor que (>)
El operador > devuelve únicamente los registros cuyo valor es mayor que el valor indicado, sin incluirlo.
Ejemplo
- Campo: response time
- Operador: >
- Valor: 1
Resultado:
Se mostrarán los registros cuyo tiempo de respuesta sea superior a 1 segundo:
- 1.2s
- 2s
- 5s
No incluye:
- 1s exacto
Mayor o igual que (>=)
El operador >= es similar al anterior, pero sí incluye el valor límite.
Ejemplo
- Campo: size
- Operador: >=
- Valor: 4000
Resultado:
Se incluirán todos los registros con tamaño:
- 4000 KB
- 4500 KB
- 10000 KB
Menor que (<)
El operador < devuelve los registros cuyo valor es inferior al valor indicado, sin incluirlo.
Ejemplo
- Campo: response time
- Operador: <
- Valor: 1
Resultado:
Se mostrarán solo los registros con tiempos de respuesta menores a 1 segundo:
- 0.2s
- 0.5s
- 0.9s
No incluye:
- 1s exacto
Menor o igual que (<=)
El operador <= incluye todos los valores que sean menores o iguales al valor definido.
Ejemplo
- Campo: size
- Operador: <=
- Valor: 1000
Resultado:
Se incluirán registros con tamaño:
- 1000 KB
- 800 KB
- 200 KB
Uso combinado (rangos)
Estos operadores son especialmente potentes cuando se combinan para crear rangos de valores.
Ejemplo de rango
- response time >= 1
- response time <= 3
Resultado:
Solo se muestran registros con tiempos de respuesta entre 1 y 3 segundos (incluidos ambos extremos).
Esto permite analizar comportamientos dentro de un intervalo concreto.
Diferencias clave
- > y < → excluyen el valor límite
- >= y <= → incluyen el valor límite
- Funcionan solo con datos numéricos o temporales, no con texto
- Son la base para construir rangos de análisis precisos
Errores comunes
- Usarlos en campos de texto (no es válido)
- Confundir > con >= y perder el valor límite
- No definir correctamente los rangos (dejando huecos entre condiciones)
Consejos prácticos para usar filtros
En ConnectiLogs, los filtros son más potentes cuando se usan con una estrategia clara y progresiva, en lugar de intentar construir una consulta perfecta desde el principio.
Lo más recomendable es empezar siempre con filtros básicos y fáciles de validar (por ejemplo, por dominio, status code o rango de fechas) y comprobar que la consulta devuelve datos antes de añadir más condiciones. A partir de ahí, puedes ir refinando poco a poco hasta llegar al nivel de detalle que necesitas.
Es fundamental elegir bien el operador según el tipo de dato. Para coincidencias exactas usa =, para exclusiones puntuales !=, para listas de valores in / not in, para búsquedas flexibles en texto like / not like, y para rangos numéricos o temporales >, >=, <, <=. Usar el operador incorrecto es una de las causas más comunes de resultados vacíos o inesperados.
También es importante entender que todos los filtros se combinan entre sí de forma acumulativa (AND), lo que significa que cada condición reduce el conjunto de datos. Por eso, añadir demasiados filtros restrictivos desde el inicio puede hacer que pierdas información relevante o incluso que la consulta no devuelva resultados.
Cuando trabajes con múltiples valores conocidos, utiliza in / not in en lugar de repetir varios filtros iguales, ya que simplifica la consulta y mejora su legibilidad. Si necesitas buscar patrones dentro de texto, usa like / not like con cuidado del comodín %, evitando interpretaciones demasiado amplias o demasiado restrictivas.
En resumen, la clave está en equilibrar precisión y amplitud: empezar con filtros simples, validar resultados y refinar gradualmente, asegurándote siempre de usar el operador adecuado para cada tipo de dato.