# Error in trying to add a Mapping to an Index

**URL:** <https://discuss.elastic.co/t/error-in-trying-to-add-a-mapping-to-an-index/7760>\
**Category:** Elasticsearch\
**Created:** [May 18, 2012, 2:56pm UTC](https://discuss.elastic.co/t/error-in-trying-to-add-a-mapping-to-an-index/7760 "2012-05-18T14:56:29Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![edswing](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@edswing](https://discuss.elastic.co/u/edswing)\
**Post date:** [May 18, 2012, 2:56pm UTC](https://discuss.elastic.co/t/error-in-trying-to-add-a-mapping-to-an-index/7760/1 "2012-05-18T14:56:29Z")

</div>

I am trying to build and add a new map to an ES index through Java. But for some reason, the ES server is not accepting my syntax. Here's the code:

```
       XContentBuilder jsonBuilder =
            XContentFactory.contentBuilder(XContentType.JSON);
        jsonBuilder.startObject();
        jsonBuilder.startObject(name);
        jsonBuilder.startObject("properties");
        for (FieldDesc<?> desc : fields) {
            // Do stuff to build the field objects
        }
        jsonBuilder.endObject();
        jsonBuilder.endObject();
        jsonBuilder.endObject();
        System.out.println(jsonBuilder.string());
        System.out.flush();
        PutMappingRequest putMap = new PutMappingRequest(index);
        putMap.source(jsonBuilder);
        client.admin().indices().putMapping(putMap).actionGet();

```

The JSON string that is printed out resembles the following (formatted for readability):  
{"status":  
{"properties":  
{"Transaction\_ID":{"type":"long","store":"yes"},  
"IP\_Address":{"type":"string","store":"yes"},  
"Machine Type":{"type":"string","index":"not\_analyzed","store":"yes"},  
...  
}}}

The error I get is the following:

Exception in thread "main" org.elasticsearch.action.ActionRequestValidationException: Validation Failed: 1: mapping type is missing;  
at org.elasticsearch.action.ValidateActions.addValidationError(ValidateActions.java:29)  
at org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest.validate(PutMappingRequest.java:80)  
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:55)

What am I doing wrong? Any help would be deeply appreciated. Thanks

---

<div class="post-metadata">

**Author:** ![edswing](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@edswing](https://discuss.elastic.co/u/edswing)\
**Post date:** [May 18, 2012, 2:57pm UTC](https://discuss.elastic.co/t/error-in-trying-to-add-a-mapping-to-an-index/7760/2 "2012-05-18T14:57:24Z")

</div>

Followup: there is no space in the Machine Type field. Its "Machine\_Type", not "Machine Type"

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 3:28am UTC](https://discuss.elastic.co/t/error-in-trying-to-add-a-mapping-to-an-index/7760/3 "2017-07-06T03:28:13Z")

</div>


