elastigo
elastigo copied to clipboard
Unmarshal error of parsing shards failures in SearchResult
The field ShardStatus of SearchResult contains the field Failure which is defined as follows:
type Failure struct {
Index string `json:"index"`
Shard StatusInt `json:"shard"`
Reason string `json:"reason"`
}
But actually I got the failure in the response like this when scrolling the results:
{
"shard": -1,
"index": null,
"reason": {
"type": "es_rejected_execution_exception",
"reason": "..."
}
}
So every time if some shards fail, I'll get an error json: cannot unmarshal object into Go value of type string from here.
It seems that Reason should be a struct with two string fields type and reason, but I'm not sure if the response format depends on the version of Elasticsearch (currently I'm using 2.2.2).