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 the
RequestsHttpConnection
requires requests
to be installed.
For example to use the requests
-based connection just import it and use it:
from elasticsearch import Elasticsearch, RequestsHttpConnection
es = Elasticsearch(connection_class=RequestsHttpConnection)
The default connection class is based on urllib3
which is more performant
and lightweight than the optional requests
-based class. Only use
RequestsHttpConnection
if you have need of any of requests
advanced
features like custom auth plugins etc.
Connection¶
- class elasticsearch.connection.Connection(host='localhost', port=9200, use_ssl=False, 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=True, ca_certs=None, client_cert=None, client_key=None, ssl_version=None, ssl_assert_hostname=None, ssl_assert_fingerprint=None, maxsize=10, headers=None, **kwargs)¶
Default connection class using the urllib3 library and the http protocol.
- 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)
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 https://urllib3.readthedocs.io/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, or cert only if using client_key
client_key – path to the file containing the private key if using separate cert and key files (client_cert will contain only the cert)
ssl_version – version of the SSL protocol to use. Choices are: SSLv23 (default) SSLv2 SSLv3 TLSv1 (see
PROTOCOL_*
constants in thessl
module for exact options for your environment).ssl_assert_hostname – use hostname verification if not False
ssl_assert_fingerprint – verify the supplied certificate fingerprint if not None
maxsize – the number of connections which will be kept open to this host. See https://urllib3.readthedocs.io/en/1.4/pools.html#api for more information.
headers – any custom http headers to be add to requests
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)
RequestsHttpConnection¶
- class elasticsearch.connection.RequestsHttpConnection(host='localhost', port=9200, http_auth=None, use_ssl=False, verify_certs=True, ca_certs=None, client_cert=None, client_key=None, headers=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, or cert only if using client_key
client_key – path to the file containing the private key if using separate cert and key files (client_cert will contain only the cert)
headers – any custom http headers to be add to requests
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)