Skip to content

Commit

Permalink
Revert "[Docs] Fix Java Api index administration usage (#28133)"
Browse files Browse the repository at this point in the history
This reverts commit 564e174.
  • Loading branch information
Christoph Büscher committed Jan 16, 2018
1 parent 33e0140 commit b57e42c
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 77 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,12 @@
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.action.support.ActiveShardCount;
import org.elasticsearch.action.support.IndicesOptions;
import org.elasticsearch.client.Client;
import org.elasticsearch.cluster.ClusterState;
import org.elasticsearch.cluster.metadata.IndexMetaData;
import org.elasticsearch.cluster.metadata.MetaData;
import org.elasticsearch.common.collect.ImmutableOpenMap;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.xcontent.XContentType;
import org.elasticsearch.index.IndexNotFoundException;
import org.elasticsearch.index.query.RangeQueryBuilder;
import org.elasticsearch.test.ESIntegTestCase;
Expand Down Expand Up @@ -345,70 +343,4 @@ public void testIndexNameInResponse() {

assertEquals("Should have index name in response", "foo", response.index());
}

/**
* This test method is used to generate the Put Mapping Java Indices API documentation
* at "docs/java-api/admin/indices/put-mapping.asciidoc" so the documentation gets tested
* so that it compiles and runs without throwing errors at runtime.
*/
public void testPutMappingDocumentation() throws Exception {
Client client = client();
// tag::addMapping-create-index-request
client.admin().indices().prepareCreate("twitter") // <1>
.addMapping("tweet", "{\n" + // <2>
" \"tweet\": {\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
" }\n" +
" }", XContentType.JSON)
.get();
// end::addMapping-create-index-request

// we need to delete in order to create a fresh new index with another type
client.admin().indices().prepareDelete("twitter").get();
client.admin().indices().prepareCreate("twitter").get();

// tag::putMapping-request-source
client.admin().indices().preparePutMapping("twitter") // <1>
.setType("user") // <2>
.setSource("{\n" + // <3>
" \"properties\": {\n" +
" \"name\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
"}", XContentType.JSON)
.get();

// You can also provide the type in the source document
client.admin().indices().preparePutMapping("twitter")
.setType("user")
.setSource("{\n" +
" \"user\":{\n" + // <4>
" \"properties\": {\n" +
" \"name\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
" }\n" +
"}", XContentType.JSON)
.get();
// end::putMapping-request-source

// tag::putMapping-request-source-append
client.admin().indices().preparePutMapping("twitter") // <1>
.setType("user") // <2>
.setSource("{\n" + // <3>
" \"properties\": {\n" +
" \"user_name\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
"}", XContentType.JSON)
.get();
// end::putMapping-request-source-append
}
}
57 changes: 48 additions & 9 deletions docs/java-api/admin/indices/put-mapping.asciidoc
Original file line number Diff line number Diff line change
@@ -1,23 +1,54 @@
[[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"]
[source,java]
--------------------------------------------------
include-tagged::{base-dir}/CreateIndexIT.java[addMapping-create-index-request]
client.admin().indices().prepareCreate("twitter") <1>
.addMapping("tweet", "{\n" + <2>
" \"tweet\": {\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\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",subs="attributes,callouts,macros"]
[source,java]
--------------------------------------------------
include-tagged::{base-dir}/CreateIndexIT.java[putMapping-request-source]
client.admin().indices().preparePutMapping("twitter") <1>
.setType("user") <2>
.setSource("{\n" + <3>
" \"properties\": {\n" +
" \"name\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
"}")
.get();
// You can also provide the type in the source document
client.admin().indices().preparePutMapping("twitter")
.setType("user")
.setSource("{\n" +
" \"user\":{\n" + <4>
" \"properties\": {\n" +
" \"name\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
" }\n" +
"}")
.get();
--------------------------------------------------
<1> Puts a mapping on existing index called `twitter`
<2> Adds a `user` mapping type.
Expand All @@ -26,12 +57,20 @@ include-tagged::{base-dir}/CreateIndexIT.java[putMapping-request-source]

You can use the same API to update an existing mapping:

["source","java",subs="attributes,callouts,macros"]
[source,java]
--------------------------------------------------
include-tagged::{base-dir}/CreateIndexIT.java[putMapping-request-source-append]
client.admin().indices().preparePutMapping("twitter") <1>
.setType("user") <2>
.setSource("{\n" + <3>
" \"properties\": {\n" +
" \"user_name\": {\n" +
" \"type\": \"text\"\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`

:base-dir!:

0 comments on commit b57e42c

Please sign in to comment.