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).