Comment supprimer un mappage de champ dans elastic search
J'ai un indice de mappage suivant
{
"testmap": {
"mappings": {
"user": {
"properties": {
"plans": {
"type": "nested",
"properties": {
"user": {
"type": "long"
}
}
},
"status": {
"type": "integer"
}
}
}
}
}
}
Je veux supprimer le statut de mappage de champ. Je ne crains pas de perdre des données de ce champ. Est-il une option pour supprimer le champ de statut.
Essayé
curl -XDELETE http://192.168.2.2:9200/testmap/user/status
{"found":false,"_index":"testmap","_type":"user","_id":"status","_version":1
Votre aide est très appréciée. Je vous remercie.
OriginalL'auteur Dibish | 2015-03-05
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas supprimer le
status
de champ à partir de cette cartographie. Si vous avez vraiment besoin de se débarrasser de ce champ, vous devrez créer un autre mapping sansstatus
champ et indexer vos données. Regardez cette réponse.OriginalL'auteur bittusarkar
Si vous avez juste besoin de changer le type de mappage sur le champ de statut, alors vous ne pouvez pas le supprimer, mais vous pouvez le changer pour un
multi_field
type d'indices sur le terrain avec plusieurs option définit.Les anciennes données ne seront pas indexées sur le nouveau champ, mais l'indice de demandes d'aller de l'avant. Dans certains cas d'utilisation, c'est un décemment alternative pour "supprimer l'index et en créer un nouveau avec une nouvelle cartographie".
https://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/mapping-multi-field-type.html
status
domaine avec une autre. Doncmulti_field
n'est pas utile dans ce cas.Compris. Mais l'élan de la suppression d'une cartographie est souvent de le remplacer par un autre;
multi_field
peut souvent répondre à ce besoin, sans avoir à recréer l'ensemble de la cartographie.OriginalL'auteur Chris Heald