Tous les produits
Search
Centre de documentation

Simple Log Service:Créer des index

Dernière mise à jour :Aug 07, 2026

Les index permettent d'interroger et d'analyser les journaux d'un Logstore Simple Log Service. Choisissez entre les index plein texte et les index de champ en fonction de vos besoins.

Pourquoi les index sont-ils nécessaires ?

La recherche par mot-clé s'effectue sur les termes individuels contenus dans les journaux bruts. Par exemple, une entrée de journal curl/7.74.0 contient le mot-clé curl, mais sans analyse syntaxique, l'entrée est traitée comme une unité unique qui ne correspond pas exactement à curl. Simple Log Service ne peut donc pas la récupérer.

Pour rendre les journaux consultables, divisez-les en termes à l'aide de délimiteurs. Par exemple, l'application des délimiteurs \n\t\r,;[]{}()&^*#@~=<>/\?:'" produit les termes curl et 7.74.0. Simple Log Service construit un index à partir de ces termes. Vous ne pouvez interroger et analyser les journaux qu'après avoir créé un index.

Simple Log Service prend en charge à la fois l'index plein texte et l'index de champ. Si vous configurez les deux pour le même Logstore, la configuration de l'index de champ est prioritaire.

Types d'index

Index plein texte

Un index plein texte divise l'intégralité d'une entrée de journal en termes de type text selon le paramètre Delimiter. Vous pouvez ensuite interroger les journaux par mot-clé. Par exemple, la requête Chrome or Safari renvoie les journaux contenant Chrome ou Safari.

Important
  • Le paramètre Delimiter ne prend pas en charge les caractères chinois. Pour traiter le texte chinois, activez l'option Include Chinese. SLS tokenise alors automatiquement le contenu chinois en se basant sur la grammaire.

  • Si vous configurez uniquement un index plein texte, vous pouvez utiliser la syntaxe de recherche en texte intégral. Syntaxe et fonctions de requête

Index de champ

Un index de champ divise les journaux par nom de champ (KEY) et tokenise le contenu de chaque champ. Quatre types de données sont pris en charge : text, long, double et JSON. Vous pouvez effectuer des requêtes par nom de champ et valeur (Key:Value) ou utiliser une instruction SELECT. Syntaxe et fonctionnalités de requête

Important
  • Pour interroger ou analyser un champ spécifique avec une instruction SELECT, vous devez créer un index de champ pour celui-ci. Un index de champ est prioritaire sur un index plein texte lorsque les deux sont configurés pour le même champ.

  • Les champs de type text prennent en charge les requêtes en texte intégral, les requêtes spécifiques aux champs et les instructions analytiques (SELECT).

    • Sans index plein texte, une requête en texte intégral recherche uniquement dans tous les champs de type text.

    • Lorsqu'un index plein texte est activé, les requêtes en texte intégral recherchent dans tous les journaux.

  • Les champs de type long et double prennent en charge les requêtes spécifiques aux champs et les instructions analytiques (SELECT).

Créer un index

Important
  • Les configurations d'index ont un impact direct sur les résultats des requêtes et des analyses. La prise en compte des nouveaux index prend environ une minute.

  • Les index s'appliquent uniquement aux nouvelles données ingérées. Pour interroger des données historiques, réindexez-les.

  • SLS crée automatiquement des index pour certains champs réservés.

    Les délimiteurs pour __topic__ et __source__ sont vides ; les requêtes sur ces champs doivent donc utiliser une correspondance exacte.

  • Les champs préfixés par __tag__ ne prennent pas en charge l'indexation en texte intégral. Créez un index de champ de type text pour les interroger et les analyser, par exemple : *| select "__tag__:__receive_time__".

  • Si un journal contient des noms de champs en double (par exemple, request_time), la console en affiche un sous la forme request_time_0. Le nom sous-jacent reste request_time. Utilisez toujours le nom d'origine lors de la création d'index, de l'exécution de requêtes, de l'analyse, de l'expédition ou de la transformation des données.

Console

  1. Connectez-vous à la console Simple Log Service.

  2. Dans la section Projects, cliquez sur le projet souhaité.

  3. Sous l'onglet Log Storage > Logstores, cliquez sur le logstore souhaité.

  4. Sur la page Search & Analysis du Logstore, cliquez sur Enable Index.

    Remarque

    Vous pouvez interroger les dernières données environ une minute après l'activation de l'indexation.

    image

  5. (Facultatif) Désactivez la mise à jour automatique.

    Pour les Logstores utilisés par d'autres services Alibaba Cloud ou à des fins internes, l'option Auto Update est activée par défaut afin de maintenir les index intégrés à jour. Pour personnaliser les index, désactivez l'option Auto Update dans le panneau Query and Analysis.

    Avertissement

    La suppression des index d'un Logstore dédié à un autre service cloud affecte les fonctionnalités connexes, telles que les rapports et les alertes.

    Auto update index

  6. Créez un index.

    Index plein texte

    Après avoir cliqué sur Enable Index, l'option Full-text Index est activée par défaut. Activez ou désactivez les options LogReduce, Case Sensitive et Include Chinese selon vos besoins, et spécifiez le Delimiter ou personnalisez-le.

    Configuration :

    image

    Paramètres

    Parameter

    Description

    Delimiter

    Lorsque l'option LogReduce est activée, SLS regroupe les journaux textuels similaires lors de la collecte et extrait des modèles communs pour obtenir un aperçu rapide. LogReduce

    LogReduce

    Contrôle la sensibilité à la casse des requêtes :

    • Lorsque l'option Case Sensitive est activée, les requêtes sont sensibles à la casse. Par exemple, si un journal contient internalError, vous devez utiliser internalError pour le trouver.

    • Lorsque l'option Case Sensitive est désactivée, les requêtes ne sont pas sensibles à la casse. Par exemple, si un journal contient internalError, vous pouvez le trouver avec INTERNALERROR ou internalerror.

    Include Chinese

    Contrôle la manière dont le contenu chinois est géré lors des recherches :

    • Lorsque l'option Include Chinese est activée, le contenu chinois est tokenisé selon la grammaire chinoise, tandis que le reste du contenu est divisé par le délimiteur spécifié.

      Important

      La tokenisation chinoise peut légèrement réduire la vitesse d'ingestion. Activez cette option uniquement si nécessaire.

    • Lorsque l'option Include Chinese est désactivée, tout le contenu est divisé par le délimiteur spécifié.

    Delimiter

    Le contenu du journal est divisé en termes par des délimiteurs. Délimiteurs par défaut : , '";=()[]{}?@&<>/:\n\t\r. Tous les caractères ASCII sont des délimiteurs valides.

    Si le champ Delimiter est vide, la valeur entière du champ est traitée comme un seul terme, consultable uniquement par la chaîne complète ou une requête avec caractère générique.

    Par exemple, le contenu du journal est /url/pic/abc.gif.

    • Sans délimiteurs, une entrée de journal entière telle que /url/pic/abc.gif est traitée comme un seul mot. Vous pouvez la trouver uniquement avec la chaîne complète /url/pic/abc.gif ou une requête avec caractère générique telle que /url/pic/*.

    • Avec le délimiteur défini sur la barre oblique (/), le journal est divisé en trois mots : url, pic et abc.gif. Vous pouvez trouver le journal avec n'importe lequel de ces mots ou via une recherche floue telle que url, abc.gif, pi* ou /url/pic/abc.gif.

    • Avec les délimiteurs définis sur la barre oblique (/) et le point (.), le journal est divisé en quatre mots : url, pic, abc et gif. Vous pouvez trouver le journal avec n'importe lequel de ces mots ou via une recherche floue.

    Index de champ

    Après avoir cliqué sur Enable Index, cliquez sur Automatic Index Generation dans la page Query and Analysis pour générer automatiquement un index de champ à partir de la première entrée des données de prévisualisation. Pour ajouter un champ personnalisé, cliquez sur +. Descriptions des paramètres

    Vue initiale :image

    Configuration de l'index de champ :

    image

    Paramètres

    Parameter

    Description

    Field Name

    Nom du champ de journal (KEY), par exemple client_ip.

    Les noms de champ ne peuvent contenir que des lettres, des chiffres et des traits de soulignement (_), et doivent commencer par une lettre ou un trait de soulignement (_).

    Important
    • Pour une adresse IP publique, un horodatage Unix ou tout autre champ __tag__, définissez le Field Name au format __tag__:KEY, par exemple __tag__:__receive_time__. Champs réservés

    • Les champs __tag__ ne prennent pas en charge les index numériques. Définissez le Type sur text pour tous les champs __tag__.

    Type

    Type de données de la valeur du champ : text, long, double ou json.

    Les types long et double ne prennent pas en charge les paramètres Case Sensitive, Include Chinese ni Delimiter.

    Alias

    Alias du champ. Par exemple, aliassez client_ip en ip.

    Les alias ne peuvent contenir que des lettres, des chiffres et des traits de soulignement (_), et doivent commencer par une lettre ou un trait de soulignement (_).

    Important

    Les alias fonctionnent uniquement dans les instructions analytiques (SELECT). Utilisez le nom de champ d'origine dans les requêtes de recherche. Alias de colonne

    Case Sensitive

    Contrôle la sensibilité à la casse des requêtes :

    • Lorsque l'option Case Sensitive est activée, les requêtes sont sensibles à la casse. Par exemple, si un journal contient internalError, vous devez utiliser internalError pour le trouver.

    • Lorsque l'option Case Sensitive est désactivée, les requêtes ne sont pas sensibles à la casse. Par exemple, si un journal contient internalError, vous pouvez le trouver avec INTERNALERROR ou internalerror.

    Case Sensitive

    Le contenu du journal est divisé en termes par des délimiteurs. Délimiteurs par défaut : , '";=()[]{}?@&<>/:\n\t\r. Tous les caractères ASCII sont des délimiteurs valides.

    Si le champ Delimiter est vide, la valeur entière du champ est traitée comme un seul terme, consultable uniquement par la chaîne complète ou une requête avec caractère générique.

    Par exemple, le contenu du journal est /url/pic/abc.gif.

    • Sans délimiteurs, une entrée de journal entière telle que /url/pic/abc.gif est traitée comme un seul mot. Vous pouvez la trouver uniquement avec la chaîne complète /url/pic/abc.gif ou une requête avec caractère générique telle que /url/pic/*.

    • Avec le délimiteur défini sur la barre oblique (/), le journal est divisé en trois mots : url, pic et abc.gif. Vous pouvez trouver le journal avec n'importe lequel de ces mots ou via une recherche floue telle que url, abc.gif, pi* ou /url/pic/abc.gif.

    • Avec les délimiteurs définis sur la barre oblique (/) et le point (.), le journal est divisé en quatre mots : url, pic, abc et gif. Vous pouvez trouver le journal avec n'importe lequel de ces mots ou via une recherche floue.

    Delimiter

    Contrôle la manière dont le contenu chinois est géré lors des recherches :

    • Lorsque l'option Include Chinese est activée, le contenu chinois est tokenisé selon la grammaire chinoise, tandis que le reste du contenu est divisé par le délimiteur spécifié.

      Important

      La tokenisation chinoise peut légèrement réduire la vitesse d'ingestion. Activez cette option uniquement si nécessaire.

    • Lorsque l'option Include Chinese est désactivée, tout le contenu est divisé par le délimiteur spécifié.

    Include Chinese

    Activez l'option Enable Analytics pour autoriser l'analyse statistique sur ce champ.

  7. (Facultatif) Définissez la longueur maximale du champ.

    Lors de l'analyse SQL, Simple Log Service tronque par défaut les valeurs de champ à 2048 octets (2 Ko). Vous pouvez ajuster cette limite (64–16384 octets) avec l'option Enable Analytics située en bas de la page Maximum Field Length.

    Important
    • Les mises à jour de la configuration d'index s'appliquent uniquement aux nouvelles données ingérées.

    • Si la valeur d'un champ dépasse la longueur maximale, l'excédent est tronqué et exclu de l'analyse.

    Set maximum field length

API

Gérez les index en appelant les opérations d'API Simple Log Service :

SDK

Gérez les index avec les SDK Simple Log Service. Pour plus d'informations sur les autres SDK, consultez la vue d'ensemble de la référence SDK.

Java

Gérez les index avec le SDK Simple Log Service pour Java. Utiliser le SDK Log Service pour Java pour gérer les index.

Python

Gérez les index avec le SDK Simple Log Service pour Python. Gérer les index avec le SDK Python.

En plus de son SDK natif, SLS prend également en charge les SDK Alibaba Cloud courants. Pour plus d'informations, consultez Simple Log Service_SDK Center_Alibaba Cloud OpenAPI Explorer.

CLI

Gérez les index via l'interface CLI Simple Log Service :

Mettre à jour un index

Procédure

Sur la page Query and Analysis du Logstore cible, choisissez Search & Analysis > Index Attributes. Les modifications prennent effet en environ une minute.

image

Désactiver un index

Important

Après avoir Attributes un index, SLS libère automatiquement l'espace de stockage des données d'index historiques lorsque la période de rétention du Logstore expire.

Procédure

Sur la page Disable du Logstore cible, choisissez Search & Analysis > Index Attributes.

image

Exemples de configuration d'index

Exemple 1

Le contenu du journal contient le champ request_time. Exécutez la requête request_time>100.

  • Avec uniquement un index plein texte, la recherche renvoie les journaux contenant les trois termes request_time, > (qui n'est pas un délimiteur) et 100.

  • Avec des index de champ de types double et long, la requête renvoie les journaux où request_time est supérieur à 100.

  • Si vous créez un index plein texte et des index de champ pour les types double et long, l'index plein texte pour request_time est ignoré, et la requête renvoie les journaux où request_time est supérieur à 100.

Exemple 2

Le contenu du journal contient le champ request_time. Exécutez la requête en texte intégral request_time.

  • Si vous créez uniquement un index de champ de type de données double ou long, aucun journal pertinent n'est renvoyé.

  • Créez uniquement un index plein texte pour rechercher les journaux contenant request_time dans l'ensemble du texte des journaux.

  • Recherchez les journaux contenant request_time dans les champs disposant d'un index de champ de type text.

Exemple 3

Le contenu du journal contient le champ status. Exécutez l'instruction d'analyse * | SELECT status, count(*) AS PV GROUP BY status.

  • Si vous créez uniquement un index plein texte, aucun journal pertinent n'est renvoyé.

  • Un index de champ sur status renvoie les codes d'état et leurs comptes PV.

Trafic d'index

Index plein texte

Tous les noms et valeurs de champ comptent dans le index traffic.

Index de champ

Le calcul du index traffic varie selon le data type du champ :

  • Type text : Le nom et la valeur du champ comptent tous deux dans le index traffic.

  • Types long et double : Le nom du champ ne compte pas dans le index traffic. Chaque valeur de champ contribue à hauteur de 8 octets fixes.

    Par exemple, si un index est créé sur le champ status (type long) avec la valeur 200, la chaîne status n'est pas comptabilisée. Le trafic d'index pour 200 est de 8 octets fixes.

  • Type JSON : Les noms et valeurs de champ comptent tous deux dans le index traffic, y compris les sous-clés non explicitement indexées. Comment le trafic d'index des champs JSON est-il calculé ?

    • Sous-clés non indexées : le index traffic est calculé comme pour le type text.

    • Sous-clés indexées : le index traffic est calculé en fonction du type de données spécifié (text, long ou double).

Facturation

Logstores en mode paiement par données ingérées

Logstores en mode paiement par fonctionnalité

Étapes suivantes

FAQ