版本: 6.8-7.15
简要来说,当 Elasticsearch 由于意外的触发(trigger)类型而无法解析监视器(watch)的触发事件时,就会发生此错误。这通常发生在触发类型不是预期的字符串时。要解决此问题,您应该检查监视器定义并确保触发类型正确定义为字符串。如果错误仍然存在,您可能需要调试监视器以识别任何潜在问题。此外,请确保您的 Elasticsearch 版本支持您正在使用的触发类型。
日志上下文 #
日志 “could not parse trigger event for [{}] for watch [{}]. expected trigger type string” 的类名是 TriggerService.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
public TriggerEvent parseTriggerEvent(String watchId, String context, 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 event for [{}] for watch [{}]. expected trigger type string " +
"field; but found [{}]", context, watchId, token);
}
String type = parser.currentName();
token = parser.nextToken();
if (token != XContentParser.Token.START_OBJECT) {





