[DOCS] fix put_mapping snippet (#28814)

Add a java snippet to be run in an integration test
in order to guarantee that the snippet is correct

Closes #28778
This commit is contained in:
olcbean 2018-03-01 10:59:52 +01:00 committed by Luca Cavanna
parent 25834e2d26
commit 472acf7833
3 changed files with 48 additions and 12 deletions

View File

@ -3,19 +3,9 @@
The PUT mapping API allows you to add a new type while creating an index:
[source,java]
["source","java",subs="attributes,callouts,macros"]
--------------------------------------------------
client.admin().indices().prepareCreate("twitter") <1>
.addMapping("tweet", "{\n" + <2>
" \"tweet\": {\n" +
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
" }\n" +
" }")
.get();
include-tagged::{client-tests}/IndicesDocumentationIT.java[index-with-mapping]
--------------------------------------------------
<1> <<java-admin-indices-create-index,Creates an index>> called `twitter`
<2> It also adds a `tweet` mapping type.

View File

@ -186,6 +186,8 @@ it to the `transformers`:
</transformer>
--------------------------------------------------
:client-tests: {docdir}/../../server/src/test/java/org/elasticsearch/client/documentation
include::client.asciidoc[]
include::docs.asciidoc[]

View File

@ -0,0 +1,44 @@
/*
* Licensed to Elasticsearch under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.elasticsearch.client.documentation;
import org.elasticsearch.action.admin.indices.create.CreateIndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.test.ESIntegTestCase;
public class IndicesDocumentationIT extends ESIntegTestCase {
public void createMappings() {
Client client = client();
// tag::index-with-mapping
client.admin().indices().prepareCreate("twitter") // <1>
.addMapping("\"tweet\": {\n" + // <2>
" \"properties\": {\n" +
" \"message\": {\n" +
" \"type\": \"text\"\n" +
" }\n" +
" }\n" +
"}")
.get();
// end::index-with-mapping
}
}