Lastly, we will set the object-specific additionalProperties keyword to false. This will reject objects that contain keys not already defined under properties (for example, isAdmin):
{
"type": "object",
"properties": {
"bio": { "type": "string" },
"summary": { "type": "string" },
"name": { "type": "object" }
},
"additionalProperties": false
}
Having additionalProperties set to false is really important, especially for Elasticsearch. This is because Elasticsearch uses a technique called dynamic mapping to infer the data types of its documents, and uses it to generate its indexes.