📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

版本: 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) {