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.
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
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
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 formerequest_time_0. Le nom sous-jacent resterequest_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
API
SDK
CLI
Mettre à jour un index
Procédure
Désactiver un index
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
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) et100.Avec des index de champ de types double et long, la requête renvoie les journaux où
request_timeest 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_timeest ignoré, et la requête renvoie les journaux oùrequest_timeest 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
doubleoulong, aucun journal pertinent n'est renvoyé.Créez uniquement un index plein texte pour rechercher les journaux contenant
request_timedans l'ensemble du texte des journaux.Recherchez les journaux contenant
request_timedans les champs disposant d'un index de champ de typetext.
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
statusrenvoie 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 valeur200, la chaînestatusn'est pas comptabilisée. Le trafic d'index pour200est 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 trafficest calculé comme pour le type text.Sous-clés indexées : le
index trafficest 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
Les index occupent de l'espace de stockage. Gérer le stockage intelligent par niveaux
La réindexation n'entraîne aucun frais.
Frais de
Index traffic: Éléments facturables pour le mode paiement par données ingérées
Logstores en mode paiement par fonctionnalité
Les index occupent de l'espace de stockage. Gérer le stockage intelligent par niveaux
La création d'un index génère un
index trafficfacturable. Éléments facturables pour le mode paiement par fonctionnalité Comment réduire les frais de trafic d'index ?La réindexation entraîne des frais. Les éléments facturables et les prix sont identiques à ceux de la création d'un index.
Étapes suivantes
-
Exemples de requêtes et d'analyses :
Méthodes pour améliorer la vitesse de requête et d'analyse des journaux







