Je crée un index "myindex" avec un type de document spécifié "mytype". Je suis en mesure de supprimer l'index, mais il semble que "mytype" existe toujours sans être lié à l'index.
Comment puis-je me débarrasser de "mytype"?
Si vous avez vraiment supprimé l'index, le mappage dans cet index ne devrait plus exister ..__ Avez-vous un autre index dans votre cluster avec un nom de type similaire?
Pour répondre à la question: How to delete document types in elasticsearch?
, utilisez Delete Mapping API :
curl -XDELETE http://localhost:9200/index/type
EDIT: à partir d'elasticsearch 2.0, ce ne sera plus possible. Voir Modifications de mappage . Vous devrez installer le plugin Delete By Query et lancer une requête qui supprimera vos documents, mais le mappage existera toujours. Il sera donc probablement préférable de réindexer vos documents dans un autre index sans l'ancien type.
Mais, comme @mguillemin et @javanna l'ont dit, lorsque vous supprimez un index, chaque mappage attaché à cet index est également supprimé:
curl -XDELETE http://localhost:9200/index
Vous pouvez utiliser _delete_by_query
chemin pour supprimer le type.
POST index-name/type-name/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
Dans la dernière version de la recherche élastique, ils ne prennent plus en charge la suppression de types de document. C'est mentionné dans la documentation
Il n'est plus possible de supprimer le mappage pour un type. Au lieu de cela vous devrait supprimer l’index et le recréer avec les nouveaux mappages.
Vous n'avez même pas besoin de spécifier le corps de la demande. Juste
curl -XPOST http://<Host>:9200/<index>/<type>/_delete_by_query