私はインデックステンプレートを作成し、それを私のローカルelasticsearchストアに挿入しました。次のコマンドを使用:elasticsearchテンプレートがelasticsearchで新しいインデックスを作成していません1.7
curl -XPUT localhost:9200/_template/media_template -d '
{
"template" : "media_*",
"mappings" : {
"properties": {
"media-type": {
"type": "string"
}
}
}
}
。私はテンプレートを持っていれば、そのインデックスがまだ存在しなくても、のmedia_ *の正規表現に収まる名前のインデックスに挿入できます。インデックステンプレートを使用してインデックスを自動作成できるようにしたい。
まだ作成されていないが有効な正規表現media_ *のインデックスにレコードを挿入しようとすると、エラーが発生します。以下は私が呼び出すinsert文です。それ以降はエラーです。
$ curl -XPOST 'http://localhost:9200/media_2016_03_25/1' -d '
{
\t "media-type" : "audio"
}
'
エラー:
{
"error": "MapperParsingException[mapping [properties]]; nested: MapperParsingException[Root type mapping not empty after parsing! Remaining fields: [media-type : {type=string}]]; ",
"status": 400
}
私が間違って何をしているのですか?インデックステンプレートを誤解していますか?インデックスが存在しない場合にインデックスを自動作成でき、テンプレート仕様に準拠している必要がありますか?私が実行しています
はelasticsearch 1.7