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

版本: 6.8-7.15

简而言之,当 Elasticsearch 由于缺少指示输入类型的字段而无法解析监视器(watch)的输入时,会出现此错误。Elasticsearch 中的监视器用于警报,需要特定字段才能正常工作。要解决此问题,您应该检查监视器定义,并确保其包含所有必需的字段,特别是输入类型。输入类型可以是 search、HTTP 或 simple。请确保监视器定义的语法和结构正确。

日志上下文 #

日志 “could not parse input for watch [{}]. expected field indicating the input type;” 的类名是 InputRegistry.java。我们从 Elasticsearch 源代码中提取了以下内容,供那些需要深入了解上下文的人参考:

ExecutableInput input = null;
while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) {
    if (token == XContentParser.Token.FIELD_NAME) {
        type = parser.currentName();
    } else if (type == null) {
        throw new ElasticsearchParseException("could not parse input for watch [{}]. expected field indicating the input type; " +
            "but found [{}] instead", watchId, token);
    } else if (token == XContentParser.Token.START_OBJECT) {
        InputFactory factory = factories.get(type);
        if (factory == null) {
            throw new ElasticsearchParseException("could not parse input for watch [{}]. unknown input type [{}]", watchId, type);