本文介绍如何使用 Python 语言连接 ES 实例,并为您提供示例代码和注意事项。
建议 Elasticsearch Python 客户端和 ES 实例的版本保持一致。
例如需要访问的 ES 实例版本是7.10.2,则需要安装 7.10 版本的 Elasticsearch Python 客户端。
安装 Elasticsearch Python 客户端的命令如下:
pip install Elasticsearch==7.10
该场景适用于连接访问方式为 HTTP 的 ES 实例。
示例代码如下:
from elasticsearch import Elasticsearch # 创建 Elasticsearch 客户端连接。 client = Elasticsearch( hosts=['{实例访问域名}', '9200'], scheme="http", http_auth=('admin', '{admin用户密码}') ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{索引名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = client.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}
该场景适用于连接访问方式为 HTTPS 的 ES 实例,且连接过程需要校验证书。
示例代码如下:
from elasticsearch import Elasticsearch # 创建 Elasticsearch 客户端连接。 client = Elasticsearch( hosts=['{实例访问域名}', '9200'], scheme="https", http_auth=('admin', '{admin用户密码}'), ca_certs = '{证书保存地址}' ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{索引名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = client.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}
该场景适用于连接访问方式为 HTTPS 的 ES 实例,且连接过程忽略证书。
示例代码如下:
from elasticsearch import Elasticsearch # 创建 Elasticsearch 客户端连接。 client = Elasticsearch( hosts=['{实例访问域名}', '9200'], scheme="https", http_auth=('admin', '{admin用户密码}'), use_ssl=True, verify_certs=False, ssl_assert_hostname=False, ssl_show_warn=False ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{索引名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = client.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}