illegal_argument_exception unknown setting

在kibana上通过Dev Tools,创建index(指定mapping),注意是mappings,不是mapping,因为是从Index management直接copy的,没有注意就报了如题的错:

正确写法:

PUT channel/
{
    "mappings": {
        "user": {
            "properties": {
                "id": {
                    "type": "long"
                },
                "name": {
                    "type": "text"
                }
            }
        }
    }
}

错误写法:

PUT channel/
{
    "mapping": {
        "user": {
            "properties": {
                "id": {
                    "type": "long"
                },
                "name": {
                    "type": "text"
                }
            }
        }
    }
}

错误写法报错

{
  "error": {
    "root_cause": [
      {
        "type": "illegal_argument_exception",
        "reason": "unknown setting [index.mapping.user.properties.id.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
      }
    ],
    "type": "illegal_argument_exception",
    "reason": "unknown setting [index.mapping.user.properties.id.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings",
    "suppressed": [
      {
        "type": "illegal_argument_exception",
        "reason": "unknown setting [index.mapping.user.properties.name.type] please check that any required plugins are installed, or check the breaking changes documentation for removed settings"
      }
    ]
  },
  "status": 400
}

复制mapping信息时,注意!
在这里插入图片描述

### 回答1: "illegal_argument_exception"是一个程序错误,表示代码中出现了不合法的参数或参数类型。这通常意味着代码无法处理给定的输入,因为它不符合预期的格式或值范围。这种异常通常是由程序员的错误导致的,需要通过检查代码和输入来修复。 ### 回答2: illegal_argument_exception是Elasticsearch中的一种异常。当我们使用Elasticsearch API时,如果API的参数不符合要求,就会发生这种异常。 illegal_argument_exception通常发生在以下情况下: 1. 参数类型不匹配:比如API要求参数是整型,但却传了一个字符串类型的参数。 2. 参数值不合法:比如API要求参数是正整数,但传的却是负数。 3. 参数缺失:比如一个必须参数没有传递。 4. 参数结构不合法:比如API要求传递一个JSON格式的参数,但传递的却是个字符串。 当发生这种异常时,Elasticsearch会返回一个HTTP错误码(通常是400或者422),以及对应的错误信息。我们可以根据错误信息来判断出问题的具体原因。 为了避免illegal_argument_exception异常的发生,我们在使用Elasticsearch API时需要注意以下几点: 1. 仔细查看文档,了解每个API的参数要求及其说明。 2. 对于必须参数,一定要保证其有值并且合法。 3. 对于非必须参数,可以根据需要灵活传递。 4. 在传递JSON格式参数时,一定要保证其结构正确,每个字段的值合法。 总之,在编写Elasticsearch API时,一定要严格遵守文档规范,保证参数的合法性,从而避免illegal_argument_exception异常的发生。这样可以提高API的稳定性和可靠性,确保应用程序的正常运行。 ### 回答3: illegal_argument_exception是一种Java编程语言中的异常类型。在Java编程中,异常是指程序的执行过程中出现的问题或错误,其中,illegal_argument_exception就是指方法参数不合法而导致的异常。当一个方法被调用时,如果传递给它的参数不符合该方法的定义要求,那么该方法将会抛出一个illegal_argument_exception的异常。例如,当调用一个方法时传递了一个空字符串或负数作为参数,而该方法要求参数不能为null或必须是正数时,就会引发该异常。 在Java编程中,illegal_argument_exception是一种运行时异常,也就是说它不需要进行显式的try-catch处理,而是在程序运行时自动抛出。当程序抛出该异常时,它会终止当前线程的执行并将异常信息输出到控制台或日志文件中,以便开发人员及时发现问题并进行修复。 在实际开发中,避免异常的发生是优化代码的必要手段之一。为了避免illegal_argument_exception的出现,我们应该在编写方法时对参数进行清晰的定义和说明,并对传递给方法的参数进行有效性检查,判断是否符合该方法的要求,从而避免此类异常的发生。 总之,illegal_argument_exception是Java编程中常见的异常类型之一,当方法的参数不符合要求时就会出现。为了避免该异常的发生,我们应该在编写代码时注重参数的定义和有效性检查,以确保程序的稳定性和可靠性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值