Recherche dans ClickStack et Elastic
argMax, histogram et quantileTiming, qui simplifient les requêtes sur des logs, metrics et traces structurés.
Pour explorer simplement les logs et les traces, la ClickStack UI (HyperDX) fournit une syntaxe de type Lucene permettant un filtrage textuel intuitif sur des requêtes champ-valeur, des plages, des caractères génériques, etc. Cela est comparable à la syntaxe Lucene dans Elasticsearch, ainsi qu’à certains éléments du Kibana Query Language.
L’interface de recherche prend en charge cette syntaxe familière, mais la traduit en arrière-plan en clauses SQL WHERE efficaces. L’expérience reste ainsi familière pour les utilisateurs de Kibana, tout en leur permettant d’exploiter, si nécessaire, toute la puissance du SQL. Vous pouvez ainsi tirer parti de toute la gamme des string search functions, des similarity functions et des fonctions de date et heure dans ClickHouse.
Ci-dessous, nous comparons les langages de requête Lucene de ClickStack et d’Elasticsearch.
Syntaxe de recherche ClickStack vs query string Elasticsearch
Différences entre existence et valeur manquante
- Pour les champs
Nullable, il sera défini surNULL. - Pour les champs non nullables (par défaut), il recevra une valeur par défaut (souvent une chaîne vide, 0 ou une valeur équivalente).
Nullable est déconseillé.
Cela signifie qu’il n’est pas possible de vérifier directement si un champ « existe » au sens d’Elasticsearch.
À la place, vous pouvez utiliser field:* ou field != '' pour vérifier la présence d’une valeur non vide. Il n’est donc pas possible de distinguer un champ réellement manquant d’un champ explicitement vide.
En pratique, cette différence pose rarement problème pour les cas d’usage d’observabilité, mais il est important de la garder à l’esprit lors de la traduction de requêtes d’un système à l’autre.