我想通过将curl的输出传递到curl中来使用curl迁移针对index的Elasticsearch映射。
目的是为另一个主机上的索引迁移或创建映射。
现在我正在运行以下内容:
curl -X GET "http://$SOURCE_HOSTNAME:9200/$SOURCE_INDEX/_mapping?pretty" | curl -X PUT "http://$DESTINATION_HOSTNAME:9200/$DESTINATION_INDEX/_mapping?pretty" -H 'Content-Type: application/json' -d "$(</dev/stdin)"
但是我遇到了以下错误。
{
"error" : {
"root_cause" : [
{
"type" : "action_request_validation_exception",
"reason" : "Validation Failed: 1: mapping type is missing;"
}
],
"type" : "action_request_validation_exception",
"reason" : "Validation Failed: 1: mapping type is missing;"
},
"status" : 400
}
奇怪的是,这里声称正确的输出缺少映射类型。
直接从json文件读取时发生相同的问题