Elasticsearch required all documents that are indexed to be in JSON format. It is possible to add binary data to a JSON document, but this means that the binary content will need to be encoded, e.g. using a base64 encoding, which is not very efficient. As David points out it is therefore common to store binary content outside Elasticsearch.
Our ES-Hadoop Connector makes it possible to move data between Elasticsearch and Hadoop.