#### 集群操作
GET /_nodes/stats/indices/fielddata?level=indices&fields=*
GET /_nodes/stats/indices/fielddata?fields=*
GET /_stats/fielddata?fields=*
GET /_cluster/health?pretty
GET /_cat/nodes?v&s=name
GET /_stats
GET /_cat/aliases?v
GET /_cat/health?v
GET /_cat/shards?v
GET /_cluster/pending_tasks?pretty
GET /_cluster/allocation/explain?pretty
GET /_cat/indices?v
GET /_cat/shards/index_name?v
#####手动触发索引更新
POST index_name/_rollover
{
"conditions": {
"max_age": "1d",
"max_docs": 10000
}
}
##in 数据返回太多会报错,需要加limit
GET _sql?format=txt
{
"query": """
select *
from "index_name*"
where userId in ( id1,id2,id3)
limit 100
"""
}
#### 设置一个节点中存储的分片数 用于均衡数据,需注意分片数<=机器数*total_shards_per_node
PUT index_name/_settings
{
"index.routing.allocation.total_shards_per_node": 1
}
#### 迁移数据 执行报错为正常,任务已提交
POST _reindex?slices=5&refresh #slices=5 并行度,可根据分片数调整,1个分片不建议设置 #默认1000,可以调大
{
"source": {
"index": "twitter",
"size":1000
},
"dest": {
"index": "new_twitter"
}
}
# 查看迁移任务
GET _tasks?detailed=true&actions=*reindex
GET /_tasks/r1A2WoRbTwKZ516z6NEs5A:36619
# 取消相应的迁移任务
POST _tasks/r1A2WoRbTwKZ516z6NEs5A:36619/_cancel
#### 添加可写别名
POST /_aliases
{
"actions" : [
{
"add" : {
"index" : "new_twitter",
"alias" : "twitter",
"is_write_index" : true
}
}
]
}
#### es sql
GET _sql?format=json
{
"query":"select * from index_name limit 10"
}
# sql 转 rest
POST _sql/translate
{
"query":"""
select * from "index_name"
"""
}
# 按id删
DELETE /index_name/_doc/_id
#### 修改类型
POST /index_name/_mapping?pretty
{
"properties": {
"region": {
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
}
}
}
GET _sql?format=json
{
"query": """
select "to.raw" url,count(src) srcC
from index_name
group by url
order by srcC desc
limit 100
"""
}
#### 加大机器的最大分片数 默认1000一台机器
PUT /_cluster/settings
{
"transient":{
"cluster":{
"max_shards_per_node":10000
}
}
}
#### 修改副本数
PUT index_name/_settings
{
"number_of_replicas": 1
}
#### 修改生命周期刷新间隔, 默认10m
PUT /_cluster/settings
{
"transient": {
"indices.lifecycle.poll_interval": "10s"
}
}
#### ES删除数据节点 节点退役 多个使用,隔开
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._name": "node1,node2"
}
}
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._host_ip": "10.10.10.1"
}
}
# 清空内容,防止该节点再次加入集群无法自动平衡分片
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.exclude._host_ip": null
}
}
#### 设置机架感知
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.awareness.attributes": "rack_id"
}
}
##### 2. 向中间索引备份源索引的数据
###### 重建索引
POST _reindex
{
"source": {
"index": "demo_metric"
},
"dest": {
"index": "demo_metric_1"
}
}
##### 3.查询确认数据是否copy过去
GET /demo_metric/type/_search
GET /demo_metric_1/type/_search
##### 4.删除有问题的索引
DELETE demo_metric
##### 5.重新创建同名的索引(★字段类型修改正确★)
######创建索引
##### 6. 从中间索引还原到源索引的数据
###### 重建索引
POST _reindex
{
"source": {
"index": "demo_metric_1"
},
"dest": {
"index": "demo_metric"
}
}
##### 7. 删除中间索引
DELETE demo_metric_1