DBAtlas · Atlas d'exploitation des bases de données

max_bytes_length_exceeded_exception: Document contains at least one immense term that is too long (le document contient au moins un terme démesuré, trop long)

Elasticsearch

Que signifie cette erreur ?

Dans un document en cours d'indexation, un terme (notamment une valeur de champ keyword/non analysé) a dépassé la longueur maximale autorisée en octets (32766 octets). Lucene ne peut pas indexer un terme aussi long.

Cause

Une valeur texte très longue écrite (d'un seul bloc) dans un champ keyword ; par ex. le corps entier d'un document, des données base64 ou une longue URL/un long identifiant placés dans un champ keyword. Les champs keyword n'étant pas analysés, la valeur est indexée comme un seul terme et dépasse la limite.

Comment la corriger

Utilisez un champ text (analysé) pour les textes longs ; keyword est réservé aux valeurs courtes nécessitant une correspondance exacte. Pour plafonner la valeur, utilisez ignore_above dans le mapping (les valeurs plus longues ne sont pas indexées mais restent stockées). Si ce n'est pas nécessaire, définissez index:false pour les champs très longs. Réévaluez la conception du champ (text ou keyword) selon le type de données.

Ouvrir dans DBAtlas →

Autres entrées pour ce moteur