python操作ES(pythonRestClient)

Elasticsearch 提供了官方的 Python 客户端库 elasticsearch-py,它是与 Elasticsearch 进行交互的主要工具。这个库允许你通过 Python 代码来执行 Elasticsearch 的各种操作,包括索引、搜索、更新和删除文档等。

安装 elasticsearch-py

首先,你需要安装 elasticsearch 库。你可以使用 pip 进行安装:

pip install elasticsearch

基本用法

以下是一些常见操作的示例,包括连接到 Elasticsearch 集群、创建索引、插入文档、查询文档和删除索引。

1. 连接到 Elasticsearch
from elasticsearch import Elasticsearch

# 创建 Elasticsearch 客户端实例
es = Elasticsearch(["http://localhost:9200"])

# 检查连接状态
if es.ping():
    print("Connected to Elasticsearch")
else:
    print("Could not connect to Elasticsearch")
2. 创建索引
index_name = "lntest"
mapping = {
    "mappings": {
        "properties": {
            "info": {
                "type": "text",
                "analyzer": "ik_smart"
            },
            "email": {
                "type": "keyword",
                "index": False
            },
            "name": {
                "properties": {
                    "firstName": {
                        "type": "keyword"
                    },
                    "lastName": {
                        "type": "keyword"
                    }
                }
            }
        }
    }
}

# 创建索引
es.indices.create(index=index_name, body=mapping)
3. 插入文档
doc = {
    "info": "实验的",
    "email": "123@qq.com",
    "name": {
        "firstName": "张",
        "lastName": "三"
    }
}

# 插入文档
es.index(index=index_name, id=1, body=doc)
4. 查询文档
# 查询索引中的所有文档
response = es.search(index=index_name, body={"query": {"match_all": {}}})

# 打印查询结果
print(response)
5. 删除索引
# 删除索引
es.indices.delete(index=index_name)

完整示例

以下是一个完整的示例,涵盖了连接到 Elasticsearch、创建索引、插入文档、查询文档和删除索引的所有步骤:

from elasticsearch import Elasticsearch

# 创建 Elasticsearch 客户端实例
es = Elasticsearch(["http://localhost:9200"])

# 检查连接状态
if es.ping():
    print("Connected to Elasticsearch")
else:
    print("Could not connect to Elasticsearch")

# 定义索引名称和映射
index_name = "lntest"
mapping = {
    "mappings": {
        "properties": {
            "info": {
                "type": "text",
                "analyzer": "ik_smart"
            },
            "email": {
                "type": "keyword",
                "index": False
            },
            "name": {
                "properties": {
                    "firstName": {
                        "type": "keyword"
                    },
                    "lastName": {
                        "type": "keyword"
                    }
                }
            }
        }
    }
}

# 创建索引
es.indices.create(index=index_name, body=mapping)

# 定义文档
doc = {
    "info": "实验的",
    "email": "123@qq.com",
    "name": {
        "firstName": "张",
        "lastName": "三"
    }
}

# 插入文档
es.index(index=index_name, id=1, body=doc)

# 查询索引中的所有文档
response = es.search(index=index_name, body={"query": {"match_all": {}}})

# 打印查询结果
print(response)

# 删除索引
es.indices.delete(index=index_name)

通过这些步骤,你应该能够使用 Python 客户端与 Elasticsearch 进行交互并执行各种操作。如果还有其他问题,请随时告诉我!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值