in scripts/elasticsearch-search.py [0:0]
def main(endpoint, search_term):
if 'AWS_REGION' not in os.environ:
print("The AWS_REGION environment variable has not been set.")
sys.exit(1)
region = os.environ['AWS_REGION']
service = 'es'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)
es = Elasticsearch(
hosts = [{'host': endpoint, 'port': 443}],
http_auth = awsauth,
use_ssl = True,
verify_certs = True,
connection_class = RequestsHttpConnection
)
search_body = {
"query": {
"match": {
"job": search_term
}
}
}
result = es.search(index="people", body=search_body)
if not len(result['hits']['hits']):
print("Your search produced no results.")
else:
print("Your search produced %d results: \n" % len(result['hits']['hits']))
for hit in result['hits']['hits']:
print(" - Name: %s\n Job: %s\n Score: %s" % (hit['_source']['name'], hit['_source']['job'], hit['_score']))