Briefly, this error occurs when Elasticsearch encounters an issue during the analysis process, which could be due to incorrect analyzer settings, unsupported language, or invalid characters in the data. To resolve this, you can check and correct your analyzer settings, ensure the language is supported, or clean your data to remove any invalid characters. Additionally, you can also check the Elasticsearch logs for more detailed information about the error.
This guide will help you check for common problems that cause the log ” analysis failed ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: analysis, admin, indices.
Log Context
Log “analysis failed” class name is TransportAnalyzeAction.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
final int maxTokenCount = indexService == null ? IndexSettings.MAX_TOKEN_COUNT_SETTING.get(settings) : indexService.getIndexSettings().getMaxTokenCount(); return analyze(request; field; analyzer; indexService != null ? indexService.getIndexAnalyzers() : null; analysisRegistry; environment; maxTokenCount); } catch (IOException e) { throw new ElasticsearchException("analysis failed"; e); } } public static AnalyzeResponse analyze(AnalyzeRequest request; String field; Analyzer analyzer; IndexAnalyzers indexAnalyzers;