使用python连接elasticsearch

有一个困惑了好久的问题,那就是从python里面连接elasticsearch总是报错。大致长这样

一开始我是看网上把es的安全功能关闭,也就是下面的内容,这个要进入到es的docker中去改config/elasticsearch.yml配置文件,但是这样改了以后kibana的界面会没有search功能。这种方式不可取...

shell 复制代码
xpack.security.enabled: false
xpack.security.http.ssl.enabled: false

不过这里介绍使用一种证书的方式连接,这应该是当前最合适的方式了。

具体操作如下

① 进入到elasticsearch的docker环境中

shell 复制代码
docker exec -it elasticsearch bash

②进入到证书目录下

shell 复制代码
cd /usr/share/elasticsearch/config/certs

有一个证书文件http_ca.crt

③执行一个命令

shell 复制代码
openssl x509 -fingerprint -sha256 -in ./http_ca.crt

会生成一个Fingerprint字符串,拿到这里就可以了。

④代码调用

py 复制代码
from elasticsearch import Elasticsearch
CERT_FINGERPRINT = ' ' #这里就是刚才获得的Fingerprint字符串
ELASTIC_PASSWORD = ' ' #你的用户名对应密码

client = Elasticsearch(
    "https://localhost:9200",
    ssl_assert_fingerprint=CERT_FINGERPRINT,
    basic_auth=("elastic", ELASTIC_PASSWORD)
)
client.info()

然后就出现了这个好看的东西哈哈哈

相关推荐
ekprada13 小时前
DAY36 复习日
开发语言·python·机器学习
爱笑的眼睛1114 小时前
强化学习组件:超越Hello World的架构级思考与实践
java·人工智能·python·ai
Boxsc_midnight14 小时前
【规范驱动的开发方式】之【spec-kit】 的安装入门指南
人工智能·python·深度学习·软件工程·设计规范
条件漫步14 小时前
Miniconda config channels的查看、删除、添加
python
爱笑的眼睛1114 小时前
深入解析PyTorch nn模块:超越基础模型构建的高级技巧与实践
java·人工智能·python·ai
2401_8414956414 小时前
【自然语言处理】自然语言理解:从技术基础到多元应用的全景探索
人工智能·python·自然语言处理·语音助手·翻译工具·自然语言理解·企业服务
武子康14 小时前
大数据-183 Elasticsearch - 并发冲突与乐观锁、分布式数据一致性剖析
大数据·后端·elasticsearch
嫂子的姐夫15 小时前
004-MD5_易车网
爬虫·python·逆向·加密
gf132111115 小时前
python_基于主视频删减片段并插入镜头视频
linux·python·音视频
八年。。15 小时前
Python 版本确认方法
开发语言·笔记·python