Spring Elasticsearch HashMap[String, String] mapping value cannot be not_analyzed
<p>Actually my question is very simple: I want my hashmap value not_analyzed!</p>

<p>Now i have one object contains a hashmap[string, string], looks like:</p>

<pre><code>class SomeObject{
    String id;
    @Field(type=FieldType.Object, index=FieldIndex.not_analyzed)
    Map&lt;String, String&gt; parameters;
}
</code></pre>

<p>then Spring data elasticsearch generate the mapping like this at the beggining:</p>

<pre><code>{
    "id": {
      "type": "string"
    },
    "parameters": {
      "type": "object"
    }
}
</code></pre>

<p>then after i add some objects to the es, it add more attributes like this:</p>

<pre><code>{
    "id": {
      "type": "string"
    },
    "parameters": {
        "properties": {
             "shiduan": {
                "type": "string"
             },
             "季节": {
                "type": "string"
             }
        }
    }
}
</code></pre>

<p>now, because of the parameters's value is analyzed, so cannot be search by es, i mean cannot search chinese value, i have tried i can search english at this time.</p>

<p>THEN, AFTER READ THIS POST <a href="https://stackoverflow.com/a/32044370/4148034">https://stackoverflow.com/a/32044370/4148034</a>, I UPDATE THE MAPPING MANUALLY TO THIS:</p>

<pre><code>{
    "id": {
      "type": "string"
    },
    "parameters": {
        "properties": {
             "shiduan": {
                "type": "string",
                "index": "not_analyzed"
             },
             "季节": {
                "type": "string",
                "index": "not_analyzed"
             }
        }
    }
}
</code></pre>

<p>I CAN SEARCH CHINESE NOW, SO I KNOW THE PROBLEM IS "not_analyzed", LIKE THE POST SAID.</p>

<p>Finally, anyone can tell me how to make the map value "not_analyzed", i had google and stackoverflow many many times still cannot find the answer, let me know if someone can help, thanks very much.</p>