Todos os produtos
Search
Central de documentação

Simple Log Service:Sintaxe de string de consulta

Última atualização: Jul 03, 2026

A sintaxe de string de consulta filtra dados e simplifica a lógica condicional na SLS DSL.

Referência rápida

Funções compatíveis:

Tipo

Função

Cenário

Função de verificação de evento

e_search

Verifica se os valores dos campos do evento atendem a condições específicas.

Função de recurso

res_log_LogStore_pull

Obtém dados tabulares de um Logstore. Permite filtragem por meio de listas de permissões e listas de bloqueios baseadas em strings de consulta.

res_rds_mysql

Obtém dados tabulares do RDS MySQL. Permite filtragem por meio de listas de permissões e listas de bloqueios baseadas em strings de consulta.

Busca por campo versus busca de texto completo

Comparação de recursos:

Recurso

Busca por campo

Busca de texto completo

Busca por substring

Compatível

Compatível

Busca com curingas usando *?

Compatível

Compatível

Busca por correspondência exata

Compatível

Não compatível

Busca por expressão regular

Compatível

Não compatível

Busca por intervalo numérico

Compatível

Não compatível

Comparação numérica

Compatível

Não compatível

Operadores lógicos: and, or, not e combinações

Compatível

Compatível

Escape de caracteres

Use escape para caracteres especiais em strings de consulta, como asteriscos (*) e barras invertidas (\).

  • Escape de nome de campo

    Não coloque nomes de campos entre aspas duplas. Use barra invertida (\) para escapar caracteres especiais:

    • \*\(1+1\)\?: abc: Caracteres especiais escapados com barra invertida.

    • __tag__\:__container_name__: abc: Dois-pontos escapados com barra invertida.

    • chinese_field: abc: Caracteres chineses não exigem escape.

    • "content": abc: Inválido. Não coloque nomes de campos entre aspas duplas.

  • Escape de valor de busca

    • Escape aspas duplas e barras invertidas dentro dos valores usando uma barra invertida (\). Exemplo: content: "abc\"xy\\z".

      Nota

      Use aspas simples para a string externa e aspas duplas para o valor de busca interno. e_search("domain: '/url/test.jsp'") está incorreto. O formato correto é e_search('domain: "/url/test.jsp"').

    • Escape asteriscos (*) e pontos de interrogação (?) com uma barra invertida (\) para evitar correspondência de curingas.

    • Strings contendo apenas caracteres chineses, letras, dígitos, sublinhados (_), hifens (-), asteriscos (*) ou pontos de interrogação (?) dispensam aspas duplas. Caso contrário, coloque a string entre aspas duplas:

      • status: "\*\?()[]:=": Entre aspas duplas. Apenas o asterisco (*) e o ponto de interrogação (?) exigem escape com barra invertida.

      • content: ()[]:=: Inválido. É obrigatório usar aspas duplas.

      • status: active\*test e status: active\?test: Apenas o caractere curinga exige escape. Aspas duplas são desnecessárias.

Busca por substring

  • Busca de texto completo

    Busque uma substring em todos os campos.

    • Sintaxe

      e_search('substring')
    • Exemplos

      • e_search('"error"'): Busca por substring.

      • e_search('"active error"'): Busca por substring com espaço no termo.

      • e_search('active error'): Múltiplas substrings combinadas com OR por padrão.

  • Busca por campo

    Busque uma substring em um campo específico.

    • Sintaxe

      e_search('...')
    • Exemplos

      • e_search('status: active'): Busca por substring.

      • e_search('author: "john smith"'): Busca por substring com espaço no valor.

      Nota

      e_search('field: active error') equivale a field:active OR "error". Isso busca active no campo field ou executa uma busca de texto completo por error.

  • Busca com curingas

    Um asterisco (*) corresponde a zero ou mais caracteres. Um ponto de interrogação (?) corresponde exatamente a um caractere, incluindo caracteres multibyte, como caracteres chineses.

    • Busca de texto completo

      Busque uma substring em todos os campos.

      • Sintaxe

        e_search('substring')
      • Exemplos

        • e_search('active*test'): Corresponde a zero ou mais caracteres entre "active" e "test".

        • e_search('occurs*error'): Corresponde a occurs error, occurs critical error e padrões semelhantes.

        • e_search('active?good'): Corresponde exatamente a um caractere entre "active" e "good".

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

        • e_search('ac*tive??go*od'): Múltiplos curingas em uma única consulta.

    • Busca por campo

      Busque uma substring em um campo específico.

      • Sintaxe

        e_search('field_name:substring')
      • Exemplos

        • e_search('status: active*test'): Corresponde a zero ou mais caracteres.

        • e_search('status: active?good'): Corresponde a um único caractere.

    Correspondência exata

    A correspondência exata exige que todo o valor do campo corresponda do início ao fim.

    • Sintaxe

      e_search('field_name==exact_match_string')
    • Exemplos

      • e_search('author== "john smith"'): O campo author corresponde exatamente a john smith.

      • e_search('status== ac*tive?good'): Combine com curingas.

    Correspondência por expressão regular

    Expressões regulares permitem correspondência de padrões mais avançada do que curingas.

    • Sintaxe

      e_search('field_name~=regular_expression_string')
      Nota
      • Use o prefixo r para evitar escape de barra invertida em expressões regulares.

      • A correspondência parcial ocorre por padrão. Adicione ^ no início e $ no final para obter correspondência completa.

    • Exemplos

      • e_search('status~= "\d+"'): O campo status contém dígitos.

      • e_search('status~= "^\d+$"'): O campo status é um número.

    Comparação numérica

    Compare valores de campo numericamente.

    • Comparação numérica direta

      Use os operadores >, >=, =, < e <= para comparação.

      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
    • Comparação de intervalo numérico

      Use intervalos fechados. Um asterisco (*) indica limite aberto.

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

    Operadores lógicos

    Combine buscas com operadores lógicos. Use parênteses () para agrupar condições.

    Operador

    Palavra-chave

    AND

    and, AND e &&. Não diferencia maiúsculas de minúsculas.

    OR

    or, OR, etc. Não diferencia maiúsculas de minúsculas.

    NOT

    not, NOT e !. Não diferencia maiúsculas de minúsculas.

    Exemplos:

    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 na correspondência de substrings no nível do 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

    Avaliação de campo

    Verifique se um campo existe ou atende a condições específicas.

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

    • e_search('not field:*'): O campo não existe.

    • e_search('not field:""'): O campo não existe.

    • e_search('field: "?"'): O campo existe e seu valor não está vazio.

    • e_search('field==""'): O campo existe e seu valor está vazio.

    • e_search('field~=".+"'): O campo existe e seu valor não está vazio.

    • e_search('not field~=".+"'): O campo não existe ou seu valor está vazio.

    • e_search('not field==""'): O campo não existe ou seu valor não está vazio.