import requests
from pyelasticsearch.client import ElasticSearch
endpoint = 'https://search-test-vu2fwve5ykzm5tsjkut5q4idum.us-east-1.es.amazonaws.com'
es = ElasticSearch(endpoint, port=443)
es.index('contacts',
'person',
{'name': 'Joe Tester', 'age': 25, 'title': 'QA Master'},
id=1)
Out[20]:
docs = [{'id': 2, 'name': 'Jessica Coder', 'age': 32, 'title': 'Programmer'},
{'id': 3, 'name': 'Freddy Tester', 'age': 29, 'title': 'Office Assistant'}]
es.bulk((es.index_op(doc, id=doc.pop('id')) for doc in docs),
index='contacts',
doc_type='person')
Out[21]:
es.refresh('contacts')
Out[23]:
es.get('contacts', 'person', 3)
Out[27]:
es.search('name:joe OR name:freddy', index='contacts')
Out[28]:
query = {
'query': {
'filtered': {
'query': {
'query_string': {'query': 'name:tester'}
},
'filter': {
'range': {
'age': {
'from': 27,
'to': 37,
},
},
},
},
},
}
es.search(query, index='contacts')
es.delete_index('contacts')
Out[27]:
import elasticsearch
host = 'YOURHOST.us-east-1.es.amazonaws.com'
awsauth = AWS4Auth(your_access_key, your_secret_key, region, 'es')
es = elasticsearch.Elasticsearch(
hosts=[{'host': host, 'port': 443}],
http_auth=awsauth,
use_ssl=True,
verify_certs=True,
connection_class=elasticsearch.connection.RequestsHttpConnection
)
print(es.cluster.health())