User authentication in Elasticsearch query using python

Mayank Jha picture Mayank Jha · Dec 13, 2016 · Viewed 18.1k times · Source

I'm using elastisearch using Python. My code looks somewhat like this:-

              
from elasticsearch import Elasticsearch

if __name__ == '__main__': 
    index="IndexPosition"
    es=Elasticsearch(['https://localhost:8080'])
    res = es.search(index='{0}'.format(index), doc_type="log",size=1000, from_=0, body={ "query": {
    "match": {
      
        ...Match condition
      }
    }
  }})

Now, due to changes in architecture user authentication has been added in the elasticsearch.Let's assume username-user and password-pass.How do I pass the username and password in the query..?

Answer

Girish kumar picture Girish kumar · Nov 7, 2017

You need to pass the username and password to the Elasticsearch object as shown below:

es = Elasticsearch(['http://localhost:8080'], http_auth=('user', 'pass'))