Есть ли причина, по которой вы бы не использовали клиентскую библиотеку pythonasticsearch.
from elasticsearch import Elasticsearch
# you can use RFC-1738 to specify the url
es = Elasticsearch(['https://user:secret@localhost:443'])
# ... or specify common parameters as kwargs
es = Elasticsearch(
['localhost', 'otherhost'],
http_auth=('user', 'secret'),
scheme="https",
port=443,
)
# SSL client authentication using client_cert and client_key
from ssl import create_default_context
context = create_default_context(cafile="path/to/cert.pem")
es = Elasticsearch(
['localhost', 'otherhost'],
http_auth=('user', 'secret'),
scheme="https",
port=443,
ssl_context=context,
)
https://elasticsearch -py.readthedocs.io / en / master / index.html
Когда у вас есть объект эластичного поиска, вы легко можете запросить ваш индекс
res = es.get(index="test-index", doc_type='tweet')
print(res['_source'])