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

版本: 7.9-8.9

简而言之,当您尝试使用不支持的键在Elasticsearch中连接两个索引时,就会出现此错误。Elasticsearch仅支持在某些类型的字段上进行连接,例如关键字或数字字段。如果您尝试在文本字段或具有复杂数据类型的字段上进行连接,您将收到此错误。要解决此问题,您可以将连接键的字段类型更改为支持的类型,或者创建一个具有支持类型的新字段并将其用作连接键。

日志上下文 #

日志"Unsupported join key"的类名是 ExpressionBuilder.java。我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入理解的人参考:

public ListvisitJoinKeys(JoinKeysContext ctx) {
    try {
        return ctx != null ? visitList(this; ctx.expression(); Attribute.class) : emptyList();
    } catch (ClassCastException ex) {
        Source source = source(ctx);
        throw new ParsingException(source; "Unsupported join key "; source.text());
    }
}  @Override
public Expression visitArithmeticUnary(ArithmeticUnaryContext ctx) {