集成
编辑集成
编辑您可以在此页面找到集成选项和相关信息。
OpenTelemetry instrumentation
编辑Python Elasticsearch 客户端支持原生的 OpenTelemetry instrumentation,遵循 OpenTelemetry Elasticsearch 语义约定。有关详细信息,请参阅使用 OpenTelemetry页面。
ES|QL
编辑ES|QL 可通过 Python Elasticsearch 客户端使用。请参阅ES|QL 和 Pandas页面,了解更多关于如何将 ES|QL 和 Pandas 与数据帧一起使用的信息。
传输
编辑连接、重试和池的处理由 Elastic Transport Python 库处理。有关底层类的文档,请参阅 Read the Docs。
使用不透明 ID 跟踪请求
编辑您可以使用标识符字符串来丰富您对 Elasticsearch 的请求,这样您就可以在弃用日志中找到此标识符,从而帮助您识别搜索慢日志的来源或帮助您识别正在运行的任务。
不透明 ID 可以通过客户端的 .options()
方法使用 opaque_id
参数进行设置
client = Elasticsearch(...) client.options(opaque_id="request-id-...").search(...)
类型提示
编辑从 elasticsearch-py
v7.10.0 开始,该库现在附带 类型提示,并支持使用诸如 Mypy 和 Pyright 等工具进行基本的静态类型分析。
如果我们编写一个脚本,其中存在类型错误,例如将 request_timeout
与 str
参数而不是 float
参数一起使用,然后在脚本上运行 Mypy
# script.py from elasticsearch import Elasticsearch client = Elasticsearch(...) client.options( request_timeout="5" # type error! ).search(...) # $ mypy script.py # script.py:5: error: Argument "request_timeout" to "search" of "Elasticsearch" has # incompatible type "str"; expected "Union[int, float, None]" # Found 1 error in 1 file (checked 1 source file)
类型提示还允许诸如 IDE 之类的工具检查类型并提供更好的自动完成功能。