Est-il possible dans Kibana, onglet "Discover" de trier les résultats dans l'odre alphabétique d'un champ de type string ? Il n'y a pas la petite flèche pour tier à coté du nom du champ.
Exemple : mes documents contiennent 3 champs, Nom, prénom, age. Je recherche toutes les personnes ayant l'age compris entre X et Y, et je veux trier par leur Nom.
J'arrive à trier par age, car c'est un type Number, mais je n'arrive pas à trier par un champ de type Srtring.
J'utilise logstash pour faire le mapping.
logstash récupère un champ text dans un .csv et applique un mapping par défaut sur ce champ.
Dois-je faire un mutate { convert ... } sur ce champ pour pourvoir le trier dans Kibana?
Un truc dans ce style (mais dans la doc de logstash je ne vois pas la possibilité de faire un convert vers un type keyword :
Si le mapping est celui-ci, sorting fonctionnera dans Discover :
"Nom": {
"type": "keyword",
"ignore_above": 256
}
Pour appliquer le mapping il faut utiliser un template.
Utiliser le mapping par default avec multi-field text+keyword quand un string est détecté est généralement juste un point de depart pour créer le template (keyword est pour pouvoir faire du sorting/aggregation, text pour la recherche et il est possible de ne pas indexé si aucune des deux fonctionnalité est nécessaire pour le champs)
logstash permet d'installer un index template avec le plugin output elasticsearch mais generalement il vaut mieux le faire hors de logstash (pour ne pas donner la permission manager_template a l'utilisateur qui a juste besoin de pouvoir ecrire sur un index ou un alias)
Donc s'il n'y a pas de template, en effet c'est bien elasticsearch qui choisit automatiquement le mapping. Si la donnée du premier document de l'index est un string, par default cela genere 2 champs "text" et "keyword", et Discover ne listera pas le champs "Nom.keyword" et donc ne permet pas de mettre en ordre par "Nom" car c'est un champs texte (comme discuter dans https://github.com/elastic/kibana/issues/7419)
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.