Validation Failed: 1: type is missing error

Hey guys,
We are using Elasticsearch in production, and we start seeing this issue as soon as we start doing updates to our document.

Here is an extract of the mapping we use:
{
"default": {
"_ttl": {
"enabled": true,
"default": "1d"
},
"_all": {
"enabled": false
},
"properties": {
"id": {
"type": "string",
"index": "not_analyzed",
"norms": {
"enabled": false
}
},
...
"product": {
"properties": {
"product-id": {
"type": "double"
}
...
}
}
}
}
}

And this is the script that we use to update:
Script: "ctx._source.product[index]['product-has-clicked'] = true; ctx._source.product[index]['product-price'] = price"

The updates are pushed to Elasticsearch but once we enable to updates to existing file, we get this error.
elastic: Error 400 (Bad Request): Validation Failed: 1: type is missing; [type=action_request_validation_exception]

There is no additional information that's returned aside from that. We are using golang library for elasticsearch integration (https://github.com/olivere/elastic). Is there anything you guys can think of that can help better debug this issue?