版本: 7.2-7.15
简要来说,当 Elasticsearch 分析器配置了未被识别或未定义的过滤器时,就会出现此错误。这可能是由于过滤器名称拼写错误或过滤器未安装造成的。要解决此问题,您可以检查分析器配置中过滤器名称的拼写。如果拼写正确,请确保过滤器已正确安装在您的 Elasticsearch 实例中并且可用。如果过滤器是自定义的,请确保它们在 Elasticsearch 配置中已正确定义和注册。
日志上下文 #
日志 “analyzer [” + name + “] contains filters " 类名是 NamedAnalyzer.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
AnalysisMode filterMode = tokenFilter.getAnalysisMode();
if (filterMode != AnalysisMode.ALL && filterMode != mode) {
offendingFilters.add(tokenFilter.name());
}
}
throw new MapperException("analyzer [" + name + "] contains filters " + offendingFilters
+ " that are not allowed to run in " + mode.getReadableName() + " mode.");
} else {
throw new MapperException(
"analyzer [" + name + "] contains components that are not allowed to run in " + mode.getReadableName() + " mode.");
}





