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
- 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.