Python Elasticsearch Client

Elasticsearch 的官方低级客户端。其目标是为所有 Elasticsearch 相关的 Python 代码提供共同基础;因此,它力求做到不带任何偏见,并且具有极强的可扩展性。

安装

使用pip安装该elasticsearch包:

python -m pip install elasticsearch

如果你的应用程序在 Python 中使用 async/await,你可以安装async额外的内容:

python -m pip install elasticsearch[async]

阅读有关如何在该项目中使用 asyncio 的更多信息。

兼容性

语言客户端向前兼容;这意味着客户端支持与更高或同等次要版本的 Elasticsearch 进行通信而不会中断。这并不意味着客户端会自动支持较新版本的 Elasticsearch 的新功能;只有在发布新客户端版本后才有可能。例如,8.12 客户端版本不会自动支持 8.13 版 Elasticsearch 的新功能,为此需要 8.13 客户端版本。Elasticsearch 语言客户端仅向后兼容默认发行版,并且不提供任何保证。

Elasticsearch 版本 elasticsearch-py 分支 支持的
主要的 主要的
8.x 8.x 8.x
7.x 7.x 7.x

如果您需要同时安装多个版本,也会发布其他版本,如elasticsearch7和elasticsearch8。

示例用法

from datetime import datetime
from elasticsearch import Elasticsearch

client = Elasticsearch("http://localhost:9200/", api_key="YOUR_API_KEY")

doc = {
    "author": "kimchy",
    "text": "Elasticsearch: cool. bonsai cool.",
    "timestamp": datetime.now(),
}
resp = client.index(index="test-index", id=1, document=doc)
print(resp["result"])

resp = client.get(index="test-index", id=1)
print(resp["_source"])

client.indices.refresh(index="test-index")

resp = client.search(index="test-index", query={"match_all": {}})
print("Got {} hits:".format(resp["hits"]["total"]["value"]))
for hit in resp["hits"]["hits"]:
    print("{timestamp} {author} {text}".format(**hit["_source"]))
作者:Jeebiz  创建时间:2024-06-22 23:50
最后编辑:Jeebiz  更新时间:2024-06-22 23:54