Elasticsearch PUT 插入数据
{ "error": { "root_cause": [ { "type": "illegal_argument_exception", "reason": "unknown setting [index.atype_id] 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.atype_id] 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.id] 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.name] 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.package] 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.rank] 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.state] 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.status] please check that any required plugins are installed, or check the breaking changes documentation for removed settings" } ] }, "status": 400 }
当出现 illegal_argument_exception 时候 意思是非法参数异常。也就是URI 缺少参数。在创建Elasticsearch的index 有一个 type (也就是Mysql数据中的表名), 在curl的时候没有输入这个type的话
就会报错
unknown setting [index.status] please check that any required plugins are installed, or check the breaking changes documentation for removed settings出现这个错误,这个错误就说明 你在插入数据的时候 不知道你要把你的这条数据插入到哪个表里面去,所以就报错了。类似于Mysql 因为要指定一张表的插入,不能随便插入不是。。。。
所以 正确的方法 URL 是
curl -H "Content-Type: application/json" -X PUT 'http://localhost:9200/index/type' -d