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

版本: 6.8-8.9

简要来说,当 Elasticsearch 尝试为监视器(watch)解析转换(transform)时遇到未知的转换类型,就会发生此错误。这通常是因为在监视器定义中指定的转换类型不被 Elasticsearch 识别。要解决此问题,您可以检查监视器定义,并确保转换类型拼写正确且受您所使用的 Elasticsearch 版本支持。如果转换类型是自定义的,请确保它已正确注册。此外,确保监视器定义格式正确且不包含任何语法错误。

日志上下文 #

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

public ExecutableTransform<?> parse(String watchId, XContentParser parser) throws IOException {
    String type = parser.currentName();
    TransformFactory factory = factories.get(type);
    if (factory == null) {
        throw new ElasticsearchParseException("could not parse transform for watch [{}]; unknown transform type [{}]", watchId, type);
    }
    return factory.parseExecutable(watchId, parser);
}

public Transform parseTransform(String watchId, String type, XContentParser parser) throws IOException {