web-dev-qa-db-fra.com

Quelle est la différence entre les champs 'field' et 'field.keyword' dans Kibana?

Lors de l'ajout d'un filtre dans kibana, tous les champs de chaîne ont une entrée et une entrée . Mot clé. Quelle est la différence?

13
PaulB

Dans elasticsearch 5, il n'y a pas de type de champ de chaîne, mais deux types:

Mot-clé - utilisez-le pour filtrer, agréger et trier.

Texte - utilisez-le pour rechercher du texte.

Lorsque vous indexez des documents avec un champ de chaîne, par exemple le nom, elasticsearch mappe le champ au champ de texte pour la recherche et au mot-clé pour le filtre.

Kibana utilise le champ pour le filtre et l'agrégation, donc en utilisant le mot-clé.

Regardez documentation elasticsearch

3
Lax

En fait, ce n'est pas un problème avec Kibana, c'est un problème avec ElasticSearch qui rend la recherche en texte intégral et par mots clés conforme. Le fichier.keyword sert à la recherche et à l'agrégation de mots clés, tandis que le champ d'origine est utilisé pour la recherche en texte intégral.

Il existe un blog officiel spécialisé pour cela: https://www.elastic.co/cn/blog/strings-are-dead-long-live-strings

Il y a aussi un message sur le forum de discussion officiel, voici le lien pour votre référence: https://discuss.elastic.co/t/why-am-i-getting-keyword-for-my-feilds -in-index-pattern/13798

0
welkinwalker