# How to handle dot in fields (Missing intermediate object)

**URL:** <https://discuss.elastic.co/t/how-to-handle-dot-in-fields-missing-intermediate-object/357584>\
**Category:** Elasticsearch\
**Tags:** runtime-fields\
**Created:** [April 17, 2024, 8:43am UTC](https://discuss.elastic.co/t/how-to-handle-dot-in-fields-missing-intermediate-object/357584 "2024-04-17T08:43:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![alissan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alissan/32/101448_2.png) [@alissan](https://discuss.elastic.co/u/alissan)\
**Post date:** [April 17, 2024, 8:43am UTC](https://discuss.elastic.co/t/how-to-handle-dot-in-fields-missing-intermediate-object/357584/1 "2024-04-17T08:43:19Z")

</div>

Hello,

> Elasticsearch version: 8.8.2

I have an index template with runtime fields:

`"dynamic": "runtime"`

When i add a document to index with dotted field ( **bash.command.test** ),  
its added normally as a runtime field:

```auto
 "runtime": {
        "bash.command.test": {
          "type": "keyword"
        }
      },

```

I changed the template with lowercase normalizer for case insensitive search:

```auto
"dynamic": "runtime",
"dynamic_templates" : [
    {
      "lowercase_dynamic_fields" : {
        "match" : "*",
        "match_mapping_type" : "string",
        "mapping" : {
          "normalizer" : "lowercase",
          "type" : "keyword"
        }
      }
    }
  ],

```

When i add a doc to new index, i got an error:

```auto
"error": {
          "type": "illegal_state_exception",
          "reason": "Missing intermediate object bash"
        }

```

Full requests and responses are [here](https://github.com/alissan/logs/blob/main/elasticsearch-Missing-intermediate-object.md)

I added this option to **/etc/sysconfig/elasticsearch** file but the error is still here (according to [this](https://www.elastic.co/guide/en/elasticsearch/reference/2.4/dots-in-names.html) doc):

`export ES_JAVA_OPTS="-Dmapper.allow_dots_in_name=true"`

I can't change the fields names like this: **bash\_command\_test**. Because i have too many fields and it depends other applications.  
How can i fix this?
