版本: 6.8-7.15
简而言之,当 Elasticsearch 由于意外的数据类型而无法解析触发器(trigger)时,就会发生此错误。触发类型预期为字符串,但发现了不同的数据类型。要解决此问题,您应该检查 Elasticsearch 代码中的触发器配置。确保触发类型被正确定义为字符串。如果您使用 JSON,请确保触发类型用引号括起来以将其表示为字符串。此外,验证您的 JSON 是否存在任何可能导致此问题的语法错误。
日志上下文 #
日志 “could not parse trigger for [{}]. expected trigger type string field; but found [{}]” 的类名是 TriggerService.java。我们从 Elasticsearch 源代码中提取了以下内容,以便为寻求深入理解的人提供上下文:
public Trigger parseTrigger(String jobName, XContentParser parser) throws IOException {
XContentParser.Token token = parser.currentToken();
assert token == XContentParser.Token.START_OBJECT;
token = parser.nextToken();
if (token != XContentParser.Token.FIELD_NAME) {
throw new ElasticsearchParseException("could not parse trigger for [{}]. expected trigger type string field; but found [{}]",
jobName, token);
}
String type = parser.currentName();
token = parser.nextToken();
if (token != XContentParser.Token.START_OBJECT) {





