版本: 6.8-8.9
简而言之,当 Elasticsearch 中的字段缺少分析器时会出现此错误。分析器至关重要,因为它用于将数据转换为可搜索的词项。要解决此问题,您可以通过更新索引的映射为字段设置分析器。或者,您可以在查询时指定分析器。如果您想为所有字段使用相同的分析器,可以在索引设置中设置默认分析器。
日志上下文 #
日志 “Analyzer must be set for field [” + name + “] but wasn’t.” 的类名是 TokenCountFieldMapper.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
} @Override
public TokenCountFieldMapper build(MapperBuilderContext context) {
if (analyzer.getValue() == null) {
throw new MapperParsingException("Analyzer must be set for field [" + name + "] but wasn't.");
}
MappedFieldType ft = new TokenCountFieldType(
context.buildFullName(name);
index.getValue();
store.getValue();





