I have an Elasticsearch instance, hosted on AWS. I can connect from my terminal with Curl. I am now trying to use the python elasticsearch wrapper. I have:
from
This is the correct way to connect to elasticsearch server using python:
es = Elasticsearch(['IP:PORT',])
Elasticsearch's constructor doesn't have the host
nor the port
parameters. The first parameter should be a list, where each item in the list can be either a string representing the host:
'schema://ip:port'
Or a dictionary with extended parameters regarding that host
{'host': 'ip/hostname', 'port': 443, 'url_prefix': 'es', 'use_ssl': True}
In your case you probably would like to use:
client = Elasticsearch(['https://ec2-xx-xx-xxx-xxx.us-west-2.compute.amazonaws.com:9200'])
The port is redundant since you are using the deafult one, so you can use remove it
client = Elasticsearch(['https://ec2-xx-xx-xxx-xxx.us-west-2.compute.amazonaws.com'])