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.
Más entradas de este motor
- too_many_buckets_exceptionTrying to create too many buckets
- shard_lock_obtain_failed_exceptionObtaining shard lock timed out
- parsing_exceptionFailed to parse the search request / query DSL (no se pudo analizar la solicitud de búsqueda / el query DSL)
- illegal_argument_exception_total_fieldsLimit of total fields has been exceeded
- verification_exceptionverification_exception: Found N problem(s) — Unknown column / Unknown index (ES|QL, SQL, EQL) (fallo de verificación: columna o índice desconocidos)
- bind_transport_exceptionbind_transport_exception (Address already in use) (la dirección ya está en uso)
- translog_corrupted_exceptiontranslog_corrupted_exception