mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-12 07:55:24 +00:00
The Java API documentation for index administration currenty is wrong because the PutMappingRequestBuilder#setSource(Object... source) and CreateIndexRequestBuilder#addMapping(String type, Object... source) methods delegate to methods that check that the input arguments are valid key/value pairs: https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-admin-indices.html This changes the docs so the java api code examples are included from documentation integration tests so we detect compile and runtime issues earlier. Closes #28131
37 lines
1.5 KiB
Plaintext
37 lines
1.5 KiB
Plaintext
[[java-admin-indices-put-mapping]]
|
|
:base-dir: {docdir}/../../core/src/test/java/org/elasticsearch/action/admin/indices/create
|
|
|
|
==== Put Mapping
|
|
|
|
The PUT mapping API allows you to add a new type while creating an index:
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{base-dir}/CreateIndexIT.java[addMapping-create-index-request]
|
|
--------------------------------------------------
|
|
<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",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{base-dir}/CreateIndexIT.java[putMapping-request-source]
|
|
--------------------------------------------------
|
|
<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 source
|
|
|
|
You can use the same API to update an existing mapping:
|
|
|
|
["source","java",subs="attributes,callouts,macros"]
|
|
--------------------------------------------------
|
|
include-tagged::{base-dir}/CreateIndexIT.java[putMapping-request-source-append]
|
|
--------------------------------------------------
|
|
<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`
|
|
|
|
:base-dir!: |