ES的安装和RestClient的操作
from datetime import datetime
from elasticsearch import Elasticsearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
# 配置Elasticsearch连接
host = 'your-es-endpoint' # 替换为你的ES端点
region = 'us-west-2' # 替换为你的ES区域
service = 'es'
credentials = boto3.Session().get_credentials()
awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token)
# 创建Elasticsearch客户端
es = Elasticsearch(
hosts=[{'host': host, 'port': 443}],
http_auth=awsauth,
use_ssl=True,
verify_certs=True,
connection_class=RequestsHttpConnection
)
# 创建一个新的索引
res = es.indices.create(index='test-index', body={'settings': {'number_of_shards': 1}})
print(res)
# 添加一条文档到索引
doc = {
'author': 'test-author',
'text': 'Sample document',
'timestamp': datetime.now()
}
res = es.index(index='test-index', id=1, body=doc)
print(res)
# 获取一条文档
res = es.get(index='test-index', id=1)
print(res)
# 搜索文档
res = es.search(index='test-index', query={'match': {'author': 'test-author'}})
print(res)
这段代码展示了如何使用Python的elasticsearch
库和requests_aws4auth
库来与AWS上的Elasticsearch服务进行交互。首先,我们配置了Elasticsearch客户端,并使用AWS4Auth进行身份验证。然后,我们创建了一个新的索引,添加了一条文档,获取了该文档,并执行了一个基本的搜索。这个例子涵盖了Elasticsearch的基本操作,并且可以作为开始使用Elasticsearch的开发者的起点。
评论已关闭