DBAtlas · Atlas de operaciones de bases de datos

max_bytes_length_exceeded_exception: Document contains at least one immense term that is too long (el documento contiene al menos un término enorme demasiado largo)

Elasticsearch

¿Qué significa?

En un documento que se está indexando, un término (sobre todo el valor de un campo keyword/no analizado) superó la longitud máxima permitida en bytes (32766 bytes). Lucene no puede indexar un término tan largo.

¿Por qué ocurre?

Un valor de texto muy largo escrito (completo) en un campo keyword; p. ej., todo el cuerpo de un documento, datos base64 o una URL/identificador largo colocado en un campo keyword. Como los campos keyword no se analizan, el valor se indexa como un único término y supera el límite.

Cómo solucionarlo

Use un campo text (analizado) para textos largos; keyword es solo para valores cortos que requieren coincidencia exacta. Para limitar el valor, use ignore_above en el mapping (los valores más largos no se indexan, pero siguen almacenándose). Si no se necesita, establezca index:false en los campos muy largos. Reevalúe el diseño del campo (text frente a keyword) según el tipo de datos.

Abrir en DBAtlas →

Más entradas de este motor