版本: 6.8-7.9
简要来说,当 Elasticsearch 尝试使用对特定字段不存在的分析器对文档进行索引时,就会发生此错误。分析器用于将数据转换为令牌或词条,这些令牌或词条会被添加到索引中。要解决此问题,您可以创建缺失的分析器,或者更改字段的映射以使用现有的分析器。此外,请确保在索引设置中正确定义了分析器。如果您使用的是内置分析器,请检查其名称是否存在拼写错误。
日志上下文 #
日志 “analyzer [” + propNode.toString() + “] not found for field [” + name + “]” 的类名是 TypeParsers.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
builder.storeTermVectorPayloads(XContentMapValues.nodeBooleanValue(propNode; name + ".store_term_vector_payloads"));
iterator.remove();
} else if (propName.equals("analyzer")) {
NamedAnalyzer analyzer = parserContext.getIndexAnalyzers().get(propNode.toString());
if (analyzer == null) {
throw new MapperParsingException("analyzer [" + propNode.toString() + "] not found for field [" + name + "]");
}
indexAnalyzer = analyzer;
iterator.remove();
} else if (propName.equals("search_analyzer")) {
NamedAnalyzer analyzer = parserContext.getIndexAnalyzers().get(propNode.toString());





