Todos los productos
Search
Centro de documentos

Simple Log Service:Sintaxis de cadenas de consulta

Última actualización: Sep 02, 2026

La sintaxis de cadenas de consulta permite filtrar datos y simplificar la lógica condicional en SLS DSL.

Referencia rápida

Funciones compatibles:

Tipo

Función

Escenario

Función de verificación de eventos

e_search

Verifica si los valores de los campos del evento cumplen condiciones específicas.

Función de recursos

res_log_LogStore_pull

Extrae datos tabulares de un logstore. Admite listas de permitidos y listas de bloqueados basadas en cadenas de consulta para el filtrado.

res_rds_mysql

Extrae datos tabulares de RDS MySQL. Admite listas de permitidos y listas de bloqueados basadas en cadenas de consulta para el filtrado.

Búsqueda por campo frente a búsqueda de texto completo

Comparación de funciones:

Función

Búsqueda por campo

Búsqueda de texto completo

Búsqueda de subcadenas

Compatible

Compatible

Búsqueda con comodines mediante *?

Compatible

Compatible

Búsqueda de coincidencia exacta

Compatible

No compatible

Búsqueda con expresiones regulares

Compatible

No compatible

Búsqueda por rango numérico

Compatible

No compatible

Comparación numérica

Compatible

No compatible

Operadores lógicos: and, or, not y combinaciones

Compatible

Compatible

Escape de caracteres

Utilice caracteres de escape para los caracteres especiales en las cadenas de consulta, como asteriscos (*) y barras invertidas (\).

  • Escape de nombres de campo

    No encierre los nombres de campo entre comillas dobles. Use una barra invertida (\) como carácter de escape para los caracteres especiales:

    • \*\(1+1\)\?: abc: Caracteres especiales con escape mediante barra invertida.

    • __tag__\:__container_name__: abc: Dos puntos con escape mediante barra invertida.

    • chinese_field: abc: Los caracteres chinos no requieren escape.

    • "content": abc: No válido. No encierre los nombres de campo entre comillas dobles.

  • Escape de valores de búsqueda

    • Use una barra invertida (\) como carácter de escape para las comillas dobles y las barras invertidas dentro de los valores. Ejemplo: content: "abc\"xy\\z".

      Nota

      Utilice comillas simples para la cadena externa y comillas dobles para el valor de búsqueda interno. e_search("domain: '/url/test.jsp'") es incorrecto. El formato correcto es e_search('domain: "/url/test.jsp"').

    • Use una barra invertida (\) como carácter de escape para los asteriscos (*) y los signos de interrogación (?) a fin de evitar la coincidencia con comodines.

    • Las cadenas que contienen únicamente caracteres chinos, letras, dígitos, guiones bajos (_), guiones (-), asteriscos (*) o signos de interrogación (?) no requieren comillas dobles. En caso contrario, encierre la cadena entre comillas dobles:

      • status: "\*\?()[]:=": Encerrada entre comillas dobles. Solo el asterisco (*) y el signo de interrogación (?) requieren escape con barra invertida.

      • content: ()[]:=: No válido. Debe encerrarse entre comillas dobles.

      • status: active\*test y status: active\?test: Solo el carácter comodín requiere escape. No se necesitan comillas dobles.

Búsqueda de subcadenas

  • Búsqueda de texto completo

    Busque una subcadena en todos los campos.

    • Sintaxis

      e_search('substring')
    • Ejemplos

      • e_search('"error"'): Búsqueda de subcadenas.

      • e_search('"active error"'): Búsqueda de subcadenas con un espacio en el término.

      • e_search('active error'): Varias subcadenas combinadas con OR de forma predeterminada.

  • Búsqueda por campo

    Busque una subcadena en un campo específico.

    • Sintaxis

      e_search('...')
    • Ejemplos

      • e_search('status: active'): Búsqueda de subcadenas.

      • e_search('author: "john smith"'): Búsqueda de subcadenas con un espacio en el valor.

      Nota

      e_search('field: active error') equivale a field:active OR "error". Esto busca active en el campo field o realiza una búsqueda de texto completo para error.

Búsqueda con comodines

Un asterisco (*) coincide con cero o más caracteres. Un signo de interrogación (?) coincide con exactamente un carácter, incluidos los caracteres multibyte como los caracteres chinos.

  • Búsqueda de texto completo

    Busque una subcadena en todos los campos.

    • Sintaxis

      e_search('substring')
    • Ejemplos

      • e_search('active*test'): Coincide con cero o más caracteres entre "active" y "test".

      • e_search('occurs*error'): Coincide con occurs error, occurs critical error y patrones similares.

      • e_search('active?good'): Coincide con exactamente un carácter entre "active" y "good".

      • e_search('ac*tive?good'): Combina ambos comodines.

      • e_search('ac*tive??go*od'): Varios comodines en una sola consulta.

  • Búsqueda por campo

    Busque una subcadena en un campo específico.

    • Sintaxis

      e_search('field_name:substring')
    • Ejemplos

      • e_search('status: active*test'): Coincide con cero o más caracteres.

      • e_search('status: active?good'): Coincide con un solo carácter.

Coincidencia exacta

La coincidencia exacta requiere que todo el valor del campo coincida de principio a fin.

  • Sintaxis

    e_search('field_name==exact_match_string')
  • Ejemplos

    • e_search('author== "john smith"'): El campo author coincide exactamente con john smith.

    • e_search('status== ac*tive?good'): Combinación con comodines.

Coincidencia con expresiones regulares

Las expresiones regulares permiten una coincidencia de patrones más potente que los comodines.

  • Sintaxis

    e_search('field_name~=regular_expression_string')
    Nota
    • Utilice el prefijo r para evitar el escape con barra invertida en las expresiones regulares.

    • De forma predeterminada, se realiza una coincidencia parcial. Agregue ^ al principio y $ al final para obtener una coincidencia completa.

  • Ejemplos

    • e_search('status~= "\d+"'): El campo status contiene dígitos.

    • e_search('status~= "^\d+$"'): El campo status es un número.

Comparación numérica

Compare los valores de los campos numéricamente.

  • Comparación numérica directa

    Utilice los operadores >, >=, =, < y <= para realizar comparaciones.

    e_search('age >= 18')  #  >=18
    e_search('age > 18')   #  > 18
    e_search('age = 18')   #  = 18
    e_search('age <= 18')  #  <=18
    e_search('age < 18')   #  < 18
  • Comparación por rango numérico

    Utilice intervalos cerrados. Un asterisco (*) indica un lado sin límites.

    e_search('count: [100, 200]') # >=100 and  <=200
    e_search('count: [*, 200]')   # <=200
    e_search('count: [200, *]')   # >=200

Operadores lógicos

Combine búsquedas con operadores lógicos. Utilice paréntesis () para agrupar condiciones.

Operador

Palabra clave

AND

and, AND y &&. No distingue entre mayúsculas y minúsculas.

OR

or, OR, etc. No distingue entre mayúsculas y minúsculas.

NOT

not, NOT y !. No distingue entre mayúsculas y minúsculas.

Ejemplos:

e_search('abc OR xyz')    # Logical operators are case-insensitive
e_search('abc and (xyz or zzz)')
e_search('abc and not (xyz and not zzz)')
e_search('abc && xyz')    # and
e_search('abc || xyz')    # or
e_search('abc || !xyz')   # or not

Operadores lógicos en la coincidencia de subcadenas a nivel de campo:

e_search('field: (abc OR xyz)')      # The field contains abc or xyz
e_search('field: (abc OR not xyz)')  # The field contains abc or does not contain xyz
e_search('field: (abc && !xyz)')     # The field contains abc and does not contain xyz

Evaluación de campos

Compruebe si un campo existe o cumple condiciones específicas.

  • e_search('field: *'): El campo existe.

  • e_search('not field:*'): El campo no existe.

  • e_search('not field:""'): El campo no existe.

  • e_search('field: "?"'): El campo existe y su valor no está vacío.

  • e_search('field==""'): El campo existe y su valor está vacío.

  • e_search('field~=".+"'): El campo existe y su valor no está vacío.

  • e_search('not field~=".+"'): El campo no existe o su valor está vacío.

  • e_search('not field==""'): El campo no existe o su valor no está vacío.