kettle从入门到精通 第九十六课 ETL之kettle Elasticsearch 增删改查彻底掌握

场景:

 群里有小伙伴咨询kettle从Elasticsearch中抽取数据,群里老师们纷纷响应,vip小伙伴是不是有中受宠若惊的感觉。

今天我们使用kettle通过es的原生rest接口来进行操作es,开整。

前提:本篇文章基于elasticsearch:7.17.9版本进行测试,在 Elasticsearch 7.x 及以上版本中,_doc 不能自定义。在 Elasticsearch 6.x 及之前的版本中,一个索引里可以有多个文档类型(类似于 MySQL 中一个数据库里有多个表),文档类型可以自定义。

1、创建es索引

创建一个索引,名字为xiaojingang,如下所示

PUT http://127.0.0.1:9200/xiaojingang
{
    "settings": {
        "number_of_shards": 1,
        "number_of_replicas": 0
    }
}

 2、删除es索引

删除es索引xiaojingang,如下图所示:

DELETE http://127.0.0.1:9200/xiaojingang

 3、写入文档

POST http://localhost:9200/xiaojingang/_doc/1
{
    "name": "Java小金刚",
    "content": "一个专门用来学习和交流kettle的公众号"
}

4、查询文档

GET http://localhost:9200/xiaojingang/_search
{
    "query": {
        "match": {
            "name": "小金刚"
        }
    }
}

5、更新文档 

POST http://localhost:9200/xiaojingang/_update/1
{
    "doc": {
        "name": "Java大金刚",
        "content": "这是更新后的示例文章内容。"
    }
}

 重新读取

 6、删除文档

DELETE http://localhost:9200/xiaojingang/_doc/1

 重新读取

 7、分页读取,使用 Scroll API

Scroll API 适用于需要处理大量数据的场景,它通过创建一个快照来避免每次请求都进行排序和合并操作。

 请求示例:

# 初始化 scroll 请求
curl -X GET "localhost:9200/my_index/_search?scroll=1m" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match_all": {}
    },
    "size": 10
}
'

上述请求中,scroll=1m 表示这个快照的有效期为 1 分钟,size=10 表示每次返回 10 个文档。响应中会包含一个 _scroll_id,用于后续的滚动请求。

# 后续的滚动请求
curl -X GET "localhost:9200/_search/scroll" -H 'Content-Type: application/json' -d'
{
    "scroll": "1m",
    "scroll_id": "your_scroll_id"
}
'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangjin1222

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值