📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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());