版本: 6.8-6.8
简而言之,当向Elasticsearch的"zero_terms_docs"参数传递无效值时,就会出现此错误。此参数用于匹配查询,它确定在未找到任何术语时该怎么做。有效值是"none"和"all"。如果传递任何其他值,就会发生此错误。要解决此问题,请确保传递给"zero_terms_docs"的值是"none"或"all"。如果您的查询不需要此参数,请考虑将其完全删除。
日志上下文 #
日志"Unsupported zero_terms_docs value [" + zeroTermsDocs + “]“的类名是 MultiMatchQueryBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用:
if ("none".equalsIgnoreCase(zeroTermsDocs)) {
zeroTermsQuery = MatchQuery.ZeroTermsQuery.NONE;
} else if ("all".equalsIgnoreCase(zeroTermsDocs)) {
zeroTermsQuery = MatchQuery.ZeroTermsQuery.ALL;
} else {
throw new ParsingException(parser.getTokenLocation(); "Unsupported zero_terms_docs value [" + zeroTermsDocs + "]");
}
} else if (AbstractQueryBuilder.NAME_FIELD.match(currentFieldName; parser.getDeprecationHandler())) {
queryName = parser.text();
} else if (GENERATE_SYNONYMS_PHRASE_QUERY.match(currentFieldName; parser.getDeprecationHandler())) {
autoGenerateSynonymsPhraseQuery = parser.booleanValue();





