Introduction
In the previous chapter, we saw how we can use a native client to access the ElasticSearch server with a Java implementation. This chapter is dedicated to the Python language and managing common tasks via its clients.
Apart from Java, the ElasticSearch team supports official clients for Perl, PHP, Python, .Net, and Ruby (see the announcement post on the ElasticSearch blog at http://www.elasticsearch.org/blog/unleash-the-clients-ruby-python-php-perl/.). This is pretty new as the initial public release was in September 2013. These clients have a lot of advantages against other implementations. A few of them are mentioned here:
- The clients are strongly tied to the ElasticSearch API, as defined here:
 All of the ElasticSearch APIs provided by these clients are direct translations of the native ElasticSearch REST interface. There should be no guessing required.
  --The ElasticSearch team - They handle dynamic node detection and failover: they are built with a strong networking...