次のマッピングのインデックスがあります
{
"testmap": {
"mappings": {
"user": {
"properties": {
"plans": {
"type": "nested",
"properties": {
"user": {
"type": "long"
}
}
},
"status": {
"type": "integer"
}
}
}
}
}
}
ステータスフィールドのマッピングを削除したい。そのフィールドのデータを失ってもかまいません。ステータスフィールドを削除するオプションはありますか? 試してみました
curl -XDELETE http://192.168.2.2:9200/testmap/user/status
{"found":false,"_index":"testmap","_type":"user","_id":"status","_version":1
あなたの助けは大歓迎です。ありがとうございました。
このマッピングからstatus
フィールドを削除することはできません。このフィールドを本当に削除する必要がある場合は、status
フィールドなしで別のマッピングを作成し、データのインデックスを再作成する必要があります。これを見てください answer 。
ステータスフィールドのマッピングタイプを変更するだけでよい場合は、削除できませんが、multi_field
タイプに変更して、複数のオプションセットでフィールドにインデックスを付けることができます。
古いデータは新しいフィールドに索引付けされませんが、前方に進む索引要求は索引付けされます。一部のユースケースでは、「インデックスを削除して、新しいマッピングで新しいインデックスを作成する」ための適切な代替手段です。
https://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/mapping-multi-field-type.html