Cara Melakukan Koneksi ke ElasticSearch dengan Python 3

Pada tutorial Python kali ini, kita akan membuat koneksi sederhana ke server ElasticSearch. Kita akan menggunakan Python 3 sebagai basis. Yang kita gunakan dalam tutorial kali ini ada dua library python, yaitu elasticsearch dan requests.

untuk itu, silakan install keduanya dengan:

pip install elasticsearch

pip install requests

setelah itu buat sebuah file dengan nama elasticsearch.py, tuliskan:

[sourcecode]
import sys
import sys

import elasticsearch

class ElasticsearchConnection:
[/sourcecode]

kemudian buat variabel koneksinya:
[sourcecode]
def __init__(self, es_host,
es_auth_user, es_auth_password):
self.es_host = es_host
self.es_auth_user = es_auth_user
self.es_auth_password = es_auth_password
[/sourcecode]

dan bagian untuk connect ke server elasticsearch sendiri tuliskan:

[sourcecode]
def get_elasticsearch_client(self):
try:
elasticsearch_client = elasticsearch.Elasticsearch([self.es_host], http_auth=self.es_auth_user + ":" + self.es_auth_password,
connection_class=elasticsearch.RequestsHttpConnection, timeout=180)

return elasticsearch_client
except Exception as ex:
print("Error:", ex)
return None

if __name__ == "__main__":
ES_AUTH_USER = sys.argv[1]
ES_AUTH_PASSWORD = sys.argv[2]
ES_HOST = sys.argv[3]
db_connection = ElasticsearchConnection(ES_HOST)
elasticsearch_client = db_connection.get_elasticsearch_client
[/sourcecode]

atau versi lengkapnya:

[sourcecode]
import sys
import sys

import elasticsearch

class ElasticsearchConnection:
def __init__(self, es_host,
es_auth_user, es_auth_password):
self.es_host = es_host
self.es_auth_user = es_auth_user
self.es_auth_password = es_auth_password

def get_elasticsearch_client(self):
try:
elasticsearch_client = elasticsearch.Elasticsearch([self.es_host], http_auth=self.es_auth_user + ":" + self.es_auth_password,
connection_class=elasticsearch.RequestsHttpConnection, timeout=180)

return elasticsearch_client
except Exception as ex:
print("Error:", ex)
return None

if __name__ == "__main__":
ES_AUTH_USER = sys.argv[1]
ES_AUTH_PASSWORD = sys.argv[2]
ES_HOST = sys.argv[3]
db_connection = ElasticsearchConnection(ES_HOST)
elasticsearch_client = db_connection.get_elasticsearch_client
[/sourcecode]

dan silakan coba script ini dengan:

python3 elasticsearch.py