| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 | [[java-admin-indices-put-mapping]]==== Put MappingThe PUT mapping API allows you to add a new type while creating an index:[source,java]--------------------------------------------------client.admin().indices().prepareCreate("twitter")   <1>        .addMapping("tweet", "{\n" +                <2>                "    \"tweet\": {\n" +                "      \"properties\": {\n" +                "        \"message\": {\n" +                "          \"type\": \"string\"\n" +                "        }\n" +                "      }\n" +                "    }\n" +                "  }")        .get();--------------------------------------------------<1> <<java-admin-indices-create-index,Creates an index>> called `twitter`<2> It also adds a `tweet` mapping type.The PUT mapping API also allows to add a new type to an existing index:[source,java]--------------------------------------------------client.admin().indices().preparePutMapping("twitter")   <1>        .setType("user")                                <2>        .setSource("{\n" +                              <3>                "  \"properties\": {\n" +                "    \"name\": {\n" +                "      \"type\": \"string\"\n" +                "    }\n" +                "  }\n" +                "}")        .get();// You can also provide the type in the source documentclient.admin().indices().preparePutMapping("twitter")        .setType("user")        .setSource("{\n" +                "    \"user\":{\n" +                        <4>                "        \"properties\": {\n" +                "            \"name\": {\n" +                "                \"type\": \"string\"\n" +                "            }\n" +                "        }\n" +                "    }\n" +                "}")        .get();--------------------------------------------------<1> Puts a mapping on existing index called `twitter`<2> Adds a `user` mapping type.<3> This `user` has a predefined type<4> type can be also provided within the sourceYou can use the same API to update an existing mapping:[source,java]--------------------------------------------------client.admin().indices().preparePutMapping("twitter")   <1>        .setType("tweet")                               <2>        .setSource("{\n" +                              <3>                "  \"properties\": {\n" +                "    \"user_name\": {\n" +                "      \"type\": \"string\"\n" +                "    }\n" +                "  }\n" +                "}")        .get();--------------------------------------------------<1> Puts a mapping on existing index called `twitter`<2> Updates the `user` mapping type.<3> This `user` has now a new field `user_name`
 |