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
最后编辑:Jeebiz 更新时间:2024-06-22 23:54