illegal_argument_exception_fielddata: illegal_argument_exception: Fielddata is disabled on text fields by default. Set fielddata=true on [your_field] in order to load fielddata in memory (fielddata deshabilitado en campos text)
Elasticsearch¿Qué significa?
Se intentó una agregación, ordenación o script sobre un campo text analizado. Estas operaciones están deshabilitadas por defecto en campos text porque requieren fielddata, que es costoso en memoria.
¿Por qué ocurre?
Se aplicó una agregación/ordenación directamente a un campo text. En Elasticsearch, text se usa para búsqueda de texto completo y keyword para agregación/ordenación por valor exacto; mezclar ambos produce este error.
Cómo solucionarlo
Use el subcampo keyword del campo para agregación/ordenación (p. ej., "my_field.keyword"). Si el campo es solo text, añada un subcampo keyword al mapping (multi-field) y ejecute _reindex. Habilitar fielddata en un campo text (fielddata=true) es posible, pero no se recomienda por el alto consumo de memoria y el riesgo de circuit breaker; úselo solo cuando sea inevitable.
Más entradas de este motor
- circuit_breaking_exceptionCircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]] (datos demasiado grandes; límite del circuit breaker)
- mapper_parsing_exceptionmapper_parsing_exception: failed to parse field [...] of type [...] (no se pudo analizar el campo)
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed (mapping strict: no se permite añadir campos dinámicamente)
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query] (fallaron todos los shards en la fase de búsqueda)
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses) (demasiadas cláusulas en la consulta)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409) (conflicto de versión del documento)
- document_missing_exceptiondocument_missing_exception: [_doc][id]: document missing (documento inexistente)