平常经常用到的elasticsearch API 进行一个分类。
主要的作用是记录,方便我自己遗忘的时候查看
CRUE
- 创建索引
- 删除索引
- 修改索引 setting mapping
- 查索引
- 查数据
同步数据
跨集群同步数据,在kibana中执行命令
- 同步数据的命令
POST _reindex?slices=1&refresh
{
"source": {# 想要从哪个索引同步数据
"index": "device_search_old",# 每次同步的数据量大小,这个是桶的大小
"size": 2000,# 远程机器elastic的地址
"remote": {
"host": "https://10.10.2.73:9200",# 如果配置了用户名密码的话,配置用户名密码
"username": "angus",
"password": "123456"
},# 根据指定的条件从目标索引上查询,然后把这部分数据同步到新的索引
"query": {
"match_all": {}
}
},
"dest": {# 新的索引
"index": "device_search_0421"
}
}
- 查看同步数据的任务,在kibana中执行命令
GET _tasks?detailed=true&actions=*reindex
查看效果
- 如果想取消同步任务
POST _tasks/mLhv48grR0C4uirCg0ot0Q:132077623/_cancel
# mLhv48grR0C4uirCg0ot0Q:132077623 就是上一步查看同步任务命令获取到的。第二行。
同集群同步数据
在kibana下执行以下命令,主意替换索引,和查询条件。
POST _reindex?slices=5&refresh
{
"source": {# 想要从哪个索引同步数据
"index": "device_search_old",
"size": 4000,
"query": {
"bool": {
"must": [
{
"term": {
"resCategory": {
"value": "port_info"
}
}
},
{
"term": {
"ip": {
"value": "104.16.167.90"
}
}
}
]
}
}
},# 新的索引 ,想要同步到哪里
"dest": {
"index": "device_search_20200908_test_angus"
}
}
集群状态-恢复集群简况状态
集群状态
GET _cat/health
修复集群丢主分片或者副本,有时候通过重新路由就可以了。
POST /_cluster/reroute?retry_failed=true
查看有问题的数据分片
GET _cluster/allocation/explain