### Navigation

- index
- modules |
- next |
- previous |
- Elasticsearch 1.6.0 documentation »

# Transport classes

List of transport classes that can be used, simply import your choice and pass it to the constructor of `Elasticsearch` as connection_class. Note that Thrift and Memcached protocols are experimental and require a plugin to be installed in your cluster as well as additional dependencies (thrift==0.9 and pylibmc==1.2).

For example to use the thrift connection just import it and use it. The connection classes are aware of their respective default ports (9500 for thrift) so there is no need to specify them unless modified:

    from elasticsearch import Elasticsearch, ThriftConnection
    es = Elasticsearch(connection_class=ThriftConnection)

## Connection

class `elasticsearch.connection.``Connection`(host='localhost', port=9200, url_prefix='', timeout=10, **kwargs)

  Class responsible for maintaining a connection to an Elasticsearch node. It holds persistent connection pool to it and it’s main interface (perform_request) is thread-safe.

  Also responsible for logging.

  Parameters:

  - host – hostname of the node (default: localhost)
  - port – port to use (integer, default: 9200)
  - url_prefix – optional url prefix for elasticsearch
  - timeout – default timeout in seconds (float, default: 10)

## Urllib3HttpConnection

class `elasticsearch.connection.``Urllib3HttpConnection`(host='localhost', port=9200, http_auth=None, use_ssl=False, verify_certs=False, ca_certs=None, client_cert=None, maxsize=10, **kwargs)

  Default connection class using the urllib3 library and the http protocol.

  Parameters:

  - http_auth – optional http auth information as either ‘:’ separated string or a tuple
  - use_ssl – use ssl for the connection if True
  - verify_certs – whether to verify SSL certificates
  - ca_certs – optional path to CA bundle. See http://urllib3.readthedocs.org/en/latest/security.html#using-certifi-with-urllib3 for instructions how to get default set
  - client_cert – path to the file containing the private key and the certificate
  - maxsize – the maximum number of connections which will be kept open to this host.

## RequestsHttpConnection

class `elasticsearch.connection.``RequestsHttpConnection`(host='localhost', port=9200, http_auth=None, use_ssl=False, verify_certs=False, ca_certs=None, client_cert=None, **kwargs)

  Connection using the requests library.

  Parameters:

  - http_auth – optional http auth information as either ‘:’ separated string or a tuple. Any value will be passed into requests as auth.
  - use_ssl – use ssl for the connection if True
  - verify_certs – whether to verify SSL certificates
  - ca_certs – optional path to CA bundle. By default standard requests’ bundle will be used.
  - client_cert – path to the file containing the private key and the certificate

## ThriftConnection

class `elasticsearch.connection.``ThriftConnection`(host='localhost', port=9500, framed_transport=False, use_ssl=False, **kwargs)

  Connection using the thrift protocol to communicate with elasticsearch.

  See https://github.com/elasticsearch/elasticsearch-transport-thrift for additional info.

  Parameters: | framed_transport – use TTransport.TFramedTransport instead of

  TTransport.TBufferedTransport

## MemcachedConnection

class `elasticsearch.connection.``MemcachedConnection`(host='localhost', port=11211, **kwargs)

  Client using the pylibmc python library to communicate with elasticsearch using the memcached protocol. Requires plugin in the cluster.

  See https://github.com/elasticsearch/elasticsearch-transport-memcached for more details.

### Navigation

- index
- modules |
- next |
- previous |
- Elasticsearch 1.6.0 documentation »