集成编辑

您可以在此页面上找到集成选项和信息。

OpenTelemetry 监控编辑

Python Elasticsearch 客户端支持遵循 OpenTelemetry Elasticsearch 语义约定 的原生 OpenTelemetry 监控。有关详细信息,请参阅 使用 OpenTelemetry 页面。

ES|QL编辑

ES|QL 可通过 Python Elasticsearch 客户端使用。有关将 ES|QL 和 Pandas 与数据帧一起使用的更多信息,请参阅 ES|QL 和 Pandas 页面。

传输编辑

连接、重试和池化的处理由 Elastic Transport Python 库处理。有关低级类的文档,请访问 Read the Docs

使用不透明 ID 跟踪请求编辑

您可以使用标识符字符串丰富您对 Elasticsearch 的请求,这使您能够在 弃用日志 中发现此标识符,以支持您 识别搜索慢日志来源 或帮助您 识别正在运行的任务

可以通过客户端 .options() 方法的 opaque_id 参数设置不透明 ID。

client = Elasticsearch(...)
client.options(opaque_id="request-id-...").search(...)

类型提示编辑

elasticsearch-py v7.10.0 开始,该库现在附带 类型提示 并支持使用 MypyPyright 等工具进行基本的静态类型分析。

如果我们编写一个脚本,该脚本具有类型错误,例如使用 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 这样的工具检查类型并提供更好的自动完成功能。