def main()

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']))