Hi David
Actually I don't have the HTTP access logs on my ES cluster. I assumed that was a 206, but I was not sure. Now that I found [DOCS] Document 200 http code response for partial results by jrodewig 路 Pull Request #40367 路 elastic/elasticsearch 路 GitHub I'm sure that wasn't a 206 
But I'm sure that ES responded with a subset of document since the process doing the request is doing a diff between a PostgreSQL and ES and it detected that documents were missing in ES.
With partial shard failure, I was refering to Search API | Elasticsearch Guide [7.x] | Elastic
This option is not set to false on my cluster settings or on queries so I assume that ES could in extreme circumstances respond with a partial answer.
Am I right ? And If I am, how could I replicate this ?
I've tried to restart data nodes multiple times but I wasn't able to reproduce this, even if I restart 2 of the 3 nodes at the same time I get a "hard" failure but not a partial response (which is expected).