2013-08-28 19:24:34 -04:00
|
|
|
[[indices-put-mapping]]
|
|
|
|
== Put Mapping
|
|
|
|
|
|
|
|
The put mapping API allows to register specific mapping definition for a
|
|
|
|
specific type.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
$ curl -XPUT 'http://localhost:9200/twitter/tweet/_mapping' -d '
|
|
|
|
{
|
|
|
|
"tweet" : {
|
|
|
|
"properties" : {
|
|
|
|
"message" : {"type" : "string", "store" : "yes"}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
|
|
The above example creates a mapping called `tweet` within the `twitter`
|
|
|
|
index. The mapping simply defines that the `message` field should be
|
|
|
|
stored (by default, fields are not stored, just indexed) so we can
|
|
|
|
retrieve it later on using selective loading.
|
|
|
|
|
|
|
|
More information on how to define type mappings can be found in the
|
|
|
|
<<mapping,mapping>> section.
|
|
|
|
|
|
|
|
[float]
|
2013-09-25 12:17:40 -04:00
|
|
|
[[merging-conflicts]]
|
2013-08-28 19:24:34 -04:00
|
|
|
=== Merging & Conflicts
|
|
|
|
|
|
|
|
When an existing mapping already exists under the given type, the two
|
|
|
|
mapping definitions, the one already defined, and the new ones are
|
|
|
|
merged. The `ignore_conflicts` parameters can be used to control if
|
|
|
|
conflicts should be ignored or not, by default, it is set to `false`
|
|
|
|
which means conflicts are *not* ignored.
|
|
|
|
|
|
|
|
The definition of conflict is really dependent on the type merged, but
|
|
|
|
in general, if a different core type is defined, it is considered as a
|
|
|
|
conflict. New mapping definitions can be added to object types, and core
|
|
|
|
type mapping can be upgraded to `multi_field` type.
|
|
|
|
|
|
|
|
[float]
|
2013-09-25 12:17:40 -04:00
|
|
|
[[multi-index]]
|
2013-08-28 19:24:34 -04:00
|
|
|
=== Multi Index
|
|
|
|
|
|
|
|
The put mapping API can be applied to more than one index with a single
|
|
|
|
call, or even on `_all` the indices.
|
|
|
|
|
|
|
|
[source,js]
|
|
|
|
--------------------------------------------------
|
|
|
|
$ curl -XPUT 'http://localhost:9200/kimchy,elasticsearch/tweet/_mapping' -d '
|
|
|
|
{
|
|
|
|
"tweet" : {
|
|
|
|
"properties" : {
|
|
|
|
"message" : {"type" : "string", "store" : "yes"}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
'
|
|
|
|
--------------------------------------------------
|