# Python 集成

URL: https://caijiao.org/elasticsearch/04.practical/05.client-python
Source: docs/elasticsearch/04.practical/05.client-python.md
Description: 本章介绍如何在 Python 项目中安装和使用官方 Elasticsearch 客户端，实现索引管理、文档操作和查询功能。

Elasticsearch 提供官方 Python 客户端，方便 Python 开发者与 Elasticsearch 集群交互，支持丰富的 API 调用和异步操作。

## 1. 安装客户端

使用 pip 安装：

```bash
pip install elasticsearch
````

## 2. 客户端初始化示例

```python
from elasticsearch import Elasticsearch

# 连接本地 Elasticsearch 服务
es = Elasticsearch("http://localhost:9200")

# 检查集群是否可用
if es.ping():
    print("Elasticsearch 集群已连接")
else:
    print("连接失败")
```

## 3. 基本操作示例

### 创建索引

```python
es.indices.create(index="my-index", ignore=400)
```

### 添加文档

```python
doc = {
    "title": "Elasticsearch 教程",
    "content": "这是一个简单的 Elasticsearch 示例",
    "date": "2025-07-01"
}
res = es.index(index="my-index", document=doc)
print(res['result'])
```

### 查询文档

```python
res = es.search(index="my-index", query={"match": {"content": "示例"}})
for hit in res['hits']['hits']:
    print(hit['_source'])
```

## 4. 高级用法

* 批量操作（Bulk API）
* 异步客户端支持
* 自定义查询与聚合

## 5. 注意事项

* 确保客户端版本与 Elasticsearch 版本兼容
* 适当处理异常和连接超时
* 使用官方文档跟进最新功能

---

通过 Python 客户端集成，开发者可以便捷地将 Elasticsearch 融入 Python 应用，支持强大的搜索和分析功能。
