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
ElasticsearchO que significa?
Foi tentada uma agregação, ordenação ou script em um campo text analisado. Essas operações vêm desabilitadas por padrão em campos text porque exigem fielddata, que é caro em memória.
Por que acontece?
Uma agregação/ordenação foi aplicada diretamente a um campo text. No Elasticsearch, text é usado para busca full-text e keyword para agregação/ordenação por valor exato; misturar os dois produz este erro.
Como resolver
Use o subcampo keyword do campo para agregação/ordenação (por exemplo, "my_field.keyword"). Se o campo for apenas text, adicione um subcampo keyword ao mapping (multi-field) e execute _reindex. Habilitar fielddata em um campo text (fielddata=true) é possível, mas não recomendado devido ao alto consumo de memória e ao risco de circuit breaker; use apenas quando for inevitável.
Mais entradas deste banco
- circuit_breaking_exceptionCircuitBreakingException[[parent] Data too large, data for [<...>] would be [...], which is larger than the limit of [...]]
- mapper_parsing_exceptionmapper_parsing_exception: failed to parse field [...] of type [...]
- strict_dynamic_mapping_exceptionstrict_dynamic_mapping_exception: mapping set to strict, dynamic introduction of [...] within [...] is not allowed
- search_phase_execution_exceptionsearch_phase_execution_exception: all shards failed / Failed to execute phase [query]
- too_many_clausestoo_many_clauses: maxClauseCount is set to 1024 (query contains too many clauses)
- version_conflict_engine_exceptionversion_conflict_engine_exception: [_doc][id]: version conflict, current version [x] is different than the one provided [y] (HTTP 409)
- document_missing_exceptiondocument_missing_exception: [_doc][id]: document missing