Adding pretty to the query-string parameters for any request, as in the
preceding example, causes Elasticsearch to pretty-print the JSON response to
make it more readable. The _source field, however, isn’t pretty-printed.
Instead we get back exactly the same JSON string that we passed in.

The response to the GET request includes {"found": true}. This confirms that
the document was found. If we were to request a document that doesn’t exist,
we would still get a JSON response, but found would be set to false.

Also, the HTTP response code would be 404 Not Found instead of 200 OK.
We can see this by passing the -i argument to curl, which causes it to
display the response headers:

By default, a GET request will return the whole document, as stored in the
_source field. But perhaps all you are interested in are the title and text fields.
Individual fields can be requested by using the _source parameter. Multiple
fields can be specified in a comma-separated list:

GET /website/blog/123?_source=title,text

The _source field now contains just the fields that we requested and has
filtered out the date field: