版本: 6.8-7.9
简要地说,当在Elasticsearch中为字段设置了’search_analyzer’而没有为同一字段设置’analyzer’时,就会发生此错误。Elasticsearch要求同时设置两者,以确保索引和搜索的一致性。要解决此问题,您可以为字段设置’analyzer',或者如果不需要’search_analyzer',可以将其删除。或者,如果您希望索引和搜索使用相同的分析过程,可以将’analyzer’和’search_analyzer’设置为相同的值。
日志上下文 #
日志"analyzer on field [" + name + “] must be set when search_analyzer is set"的类名是 TypeParsers.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入了解上下文的人参考:
searchQuoteAnalyzer.checkAllowedInMode(AnalysisMode.SEARCH_TIME);
}
} if (indexAnalyzer == null && searchAnalyzer != null) {
throw new MapperParsingException("analyzer on field [" + name + "] must be set when search_analyzer is set");
} if (searchAnalyzer == null && searchQuoteAnalyzer != null) {
throw new MapperParsingException("analyzer and search_analyzer on field [" + name +
"] must be set when search_quote_analyzer is set");





