Modifying your index structure with the update API
In the previous chapters, we discussed how to create index mappings and index the data. But what if you already have the mappings created and data indexed, but want to modify the structure of the index? This is possible to some extent. For example, by default, if we index a document with a new field, Elasticsearch will add that field to the index structure. Let's now look at how to modify the index structure manually.
The mappings
Let's assume that we have the following mappings for our users
index stored in the user.json
file:
{ "user" : { "properties" : { "name" : {"type" : "string"} } } }
As you can see, it is very simple. It just has a single property that will hold the username. Now, let's create an index called users
, and use the previous mappings to create our own type. To do that, we will run the following commands:
curl -XPOST 'localhost:9200/users' curl -XPUT 'localhost:9200/users/user/_mapping' -d @user.json
If everything...