mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 04:58:50 +00:00
2c241e8a36
Mappings conflicts should not be ignored. If I read the history correctly, this option was added when a mapping update to an existing field was considered a conflict, even if the new mapping was exactly the same. Now that mapping updates are smart enough to detect conflicting options, we don't need an option to ignore conflicts.
81 lines
2.2 KiB
Plaintext
81 lines
2.2 KiB
Plaintext
[[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/_mapping/tweet' -d '
|
|
{
|
|
"tweet" : {
|
|
"properties" : {
|
|
"message" : {"type" : "string", "store" : true }
|
|
}
|
|
}
|
|
}
|
|
'
|
|
--------------------------------------------------
|
|
|
|
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]
|
|
[[merging-conflicts]]
|
|
=== 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. If there are conflicts then the update will be rejected.
|
|
|
|
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 mappings can be upgraded by specifying multi fields on a core type.
|
|
|
|
[float]
|
|
[[put-mapping-multi-index]]
|
|
=== 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/_mapping/tweet' -d '
|
|
{
|
|
"tweet" : {
|
|
"properties" : {
|
|
"message" : {"type" : "string", "store" : true }
|
|
}
|
|
}
|
|
}
|
|
'
|
|
--------------------------------------------------
|
|
|
|
All options:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
|
|
PUT /{index}/_mapping/{type}
|
|
|
|
|
|
--------------------------------------------------
|
|
|
|
|
|
where
|
|
|
|
[horizontal]
|
|
`{index}`:: `blank | * | _all | glob pattern | name1, name2, …`
|
|
|
|
`{type}`:: Name of the type to add. Must be the name of the type defined in the body.
|
|
|
|
|
|
Instead of `_mapping` you can also use the plural `_mappings`.
|