Tous les produits
Search
Centre de documentation

Simple Log Service:Syntaxe des chaînes de requête

Dernière mise à jour :Aug 18, 2026

La syntaxe des chaînes de requête permet de filtrer les données et de simplifier la logique conditionnelle dans le DSL SLS.

Référence rapide

Fonctions prises en charge :

Type

Fonction

Scénario

Fonction de vérification d'événement

e_search

Vérifie si les valeurs des champs d'événement répondent à des conditions spécifiques.

Fonction de ressource

res_log_LogStore_pull

Extrait des données tabulaires d'un Logstore. Prend en charge les listes d'autorisation et de blocage basées sur des chaînes de requête pour le filtrage.

res_rds_mysql

Extrait des données tabulaires depuis RDS MySQL. Prend en charge les listes d'autorisation et de blocage basées sur des chaînes de requête pour le filtrage.

Recherche par champ contre recherche en texte intégral

Comparaison des fonctionnalités :

Fonctionnalité

Recherche par champ

Recherche en texte intégral

Recherche de sous-chaîne

Prise en charge

Prise en charge

Recherche avec caractères génériques à l'aide de *?

Prise en charge

Prise en charge

Recherche de correspondance exacte

Prise en charge

Non prise en charge

Recherche par expression régulière

Prise en charge

Non prise en charge

Recherche de plage numérique

Prise en charge

Non prise en charge

Comparaison numérique

Prise en charge

Non prise en charge

Opérateurs logiques : and, or, not et combinaisons

Prise en charge

Prise en charge

Échappement des caractères

Échappez les caractères spéciaux dans les chaînes de requête, tels que les astérisques (*) et les barres obliques inverses (\).

  • Échappement du nom de champ

    N'entourez pas les noms de champs de guillemets doubles. Échappez les caractères spéciaux avec une barre oblique inverse (\) :

    • \*\(1+1\)\?: abc : Caractères spéciaux échappés par une barre oblique inverse.

    • __tag__\:__container_name__: abc : Deux-points échappés par une barre oblique inverse.

    • chinese_field: abc : Les caractères chinois ne nécessitent aucun échappement.

    • "content": abc : Non valide. N'entourez pas les noms de champs de guillemets doubles.

  • Échappement de la valeur de recherche

    • Échappez les guillemets doubles et les barres obliques inverses au sein des valeurs à l'aide d'une barre oblique inverse (\). Exemple : content: "abc\"xy\\z".

      Remarque

      Utilisez des guillemets simples pour la chaîne externe et des guillemets doubles pour la valeur de recherche interne. e_search("domain: '/url/test.jsp'") est incorrect. Le format correct est e_search('domain: "/url/test.jsp"').

    • Échappez les astérisques (*) et les points d'interrogation (?) avec une barre oblique inverse (\) pour empêcher la correspondance avec des caractères génériques.

    • Les chaînes contenant uniquement des caractères chinois, des lettres, des chiffres, des traits de soulignement (_), des traits d'union (-), des astérisques (*) ou des points d'interrogation (?) ne nécessitent pas de guillemets doubles. Dans le cas contraire, entourez la chaîne de guillemets doubles :

      • status: "\*\?()[]:=" : Entouré de guillemets doubles. Seuls l'astérisque (*) et le point d'interrogation (?) nécessitent un échappement par barre oblique inverse.

      • content: ()[]:= : Non valide. Doit être entouré de guillemets doubles.

      • status: active\*test et status: active\?test : Seul le caractère générique doit être échappé. Aucun guillemet double n'est requis.

Recherche de sous-chaîne

  • Recherche en texte intégral

    Recherchez une sous-chaîne dans tous les champs.

    • Syntaxe

      e_search('substring')
    • Exemples

      • e_search('"error"') : Recherche de sous-chaîne.

      • e_search('"active error"') : Recherche de sous-chaîne avec un espace dans le terme.

      • e_search('active error') : Plusieurs sous-chaînes combinées avec OR par défaut.

  • Recherche par champ

    Recherchez une sous-chaîne dans un champ spécifique.

    • Syntaxe

      e_search('...')
    • Exemples

      • e_search('status: active') : Recherche de sous-chaîne.

      • e_search('author: "john smith"') : Recherche de sous-chaîne avec un espace dans la valeur.

      Remarque

      e_search('field: active error') équivaut à field:active OR "error". Cette opération recherche active dans le champ field ou effectue une recherche en texte intégral pour error.

Recherche avec caractères génériques

L'astérisque (*) correspond à zéro ou plusieurs caractères. Le point d'interrogation (?) correspond à exactement un caractère, y compris les caractères multioctets tels que les caractères chinois.

  • Recherche en texte intégral

    Recherche une sous-chaîne dans tous les champs.

    • Syntaxe

      e_search('substring')
    • Exemples

      • e_search('active*test') : Correspond à zéro ou plusieurs caractères entre « active » et « test ».

      • e_search('occurs*error') : Correspond à occurs error, occurs critical error et à des motifs similaires.

      • e_search('active?good') : Correspond à exactement un caractère entre « active » et « good ».

      • e_search('ac*tive?good') : Combine les deux caractères génériques.

      • e_search('ac*tive??go*od') : Utilise plusieurs caractères génériques dans une seule requête.

  • Recherche par champ

    Recherche une sous-chaîne dans un champ spécifique.

    • Syntaxe

      e_search('field_name:substring')
    • Exemples

      • e_search('status: active*test') : Correspond à zéro ou plusieurs caractères.

      • e_search('status: active?good') : Correspond à un seul caractère.

Correspondance exacte

La correspondance exacte exige que la valeur entière du champ corresponde du début à la fin.

  • Syntaxe

    e_search('field_name==exact_match_string')
  • Exemples

    • e_search('author== "john smith"') : Le champ author correspond exactement à john smith.

    • e_search('status== ac*tive?good') : Combinaison avec des caractères génériques.

Correspondance par expression régulière

Les expressions régulières permettent une mise en correspondance de motifs plus puissante que les caractères génériques.

  • Syntaxe

    e_search('field_name~=regular_expression_string')
    Remarque
    • Utilisez le préfixe r pour empêcher l'échappement des barres obliques inverses dans les expressions régulières.

    • Effectue une correspondance partielle par défaut. Ajoutez ^ au début et $ à la fin pour une correspondance complète.

  • Exemples

    • e_search('status~= "\d+"') : Le champ status contient des chiffres.

    • e_search('status~= "^\d+$"') : Le champ status est un nombre.

Comparaison numérique

Compare les valeurs des champs numériquement.

  • Comparaison numérique directe

    Utilisez les opérateurs >, >=, =, < et <= pour la comparaison.

    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
  • Comparaison de plage numérique

    Utilisez des intervalles fermés. Un astérisque (*) indique un côté non borné.

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

Opérateurs logiques

Combinez les recherches avec des opérateurs logiques. Utilisez des parenthèses () pour regrouper les conditions.

Opérateur

Mot-clé

AND

and, AND et &&. Insensible à la casse.

OR

or, OR, etc. Insensible à la casse.

NOT

not, NOT et !. Insensible à la casse.

Exemples :

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

Opérateurs logiques dans la correspondance de sous-chaînes au niveau des champs :

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

Évaluation des champs

Vérifie si un champ existe ou remplit des conditions spécifiques.

  • e_search('field: *') : Le champ existe.

  • e_search('not field:*') : Le champ n'existe pas.

  • e_search('not field:""') : Le champ n'existe pas.

  • e_search('field: "?"') : Le champ existe et sa valeur n'est pas vide.

  • e_search('field==""') : Le champ existe et sa valeur est vide.

  • e_search('field~=".+"') : Le champ existe et sa valeur n'est pas vide.

  • e_search('not field~=".+"') : Le champ n'existe pas ou sa valeur est vide.

  • e_search('not field==""') : Le champ n'existe pas ou sa valeur n'est pas vide.