最近更新时间:2023.08.31 14:16:01
首次发布时间:2023.08.24 17:53:35
Elasticsearch 官方和社区推出了各个语言版本的 SDK,以方便用户使用。本文介绍如何使用 Python 语言连接火山引擎 ESCloud 实例,并为您提供示例代码和注意事项。
建议 Elasticsearch Python 客户端和火山引擎 ESCloud 实例的版本保持一致。
例如需要访问的 ESCloud 实例版本是7.10.2,则需要安装 7.10 版本的 Elasticsearch Python 客户端。
安装 Elasticsearch Python 客户端的命令如下:
pip install Elasticsearch==7.10
该场景适用于连接访问方式为 HTTP 的 ESCloud 实例。
示例代码如下:
from elasticsearch import Elasticsearch # 创建 Elasticsearch 客户端连接 es = Elasticsearch(['{实例访问地址}', '9200'], http_auth=('{实例访问用户}', '{用户密码}') ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{实例名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = es.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}
该场景适用于连接访问方式为 HTTPS 的 ESCloud 实例,且连接过程需要校验证书。
示例代码如下:
from elasticsearch import Elasticsearch from ssl import create_default_context # 创建 SSL 上下文并加载证书。 ssl_context = create_default_context(cafile='{证书路径}') # 创建 Elasticsearch 客户端连接。 es = Elasticsearch(['{实例访问地址}', '9200'], ssl_context=ssl_context, scheme="https", http_auth=('{实例访问用户}', '{用户密码}') ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{索引名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = es.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}
该场景适用于连接访问方式为 HTTPS 的 ESCloud 实例,且连接过程忽略证书。
示例代码如下:
from elasticsearch import Elasticsearch import ssl # 创建 SSL 上下文,并设置验证模式为 CERT_NONE,即忽略证书。 ssl_context = ssl.create_default_context() ssl_context.check_hostname = False ssl_context.verify_mode = ssl.CERT_NONE # 创建 Elasticsearch 客户端连接。 es = Elasticsearch(['{实例访问地址}', '9200'], ssl_context=ssl_context, scheme="https", http_auth=('{实例访问用户}', '{用户密码}') ) # 创建索引,根据需要设置 settings、mappings,以及字段信息。 index_name = '{索引名称}' index_body = { 'settings': { 'number_of_shards': 3, 'number_of_replicas': 1 }, 'mappings': { 'properties': { 'name': { 'type': 'text' }, 'age': { 'type': 'integer' } } } } response = es.indices.create(index=index_name, body=index_body) print(response)
运行程序,返回如下类似信息:
{'acknowledged': True, 'shards_acknowledged': True, 'index': 'custom-index'}