ElasticSearch 常用命令大全

1、获取索引列表

GET /_cat/indices?format=json&index=[索引名称,可使用通配符]

2、别名操作

GET /_alias/20*

POST /_aliases

{

"actions": [

{

"add": {

"alias": "logs_current",

"index": "logs_2018-10"

}

},

{

"remove": {

"alias": "logs_current",

"index": "logs_2018-09"

}

},

{

"add": {

"alias": "last_3_months",

"index": "logs_2018-10"

}

},

{

"remove": {

"alias": "last_3_months",

"index": "logs_2018-07"

}

}

]

}

3、索引操作

创建

PUT /index_name

{ "settings": { "number_of_shards": 3, "number_of_replicas": 1 } }

Response:

{ "acknowledged" : true, "shards_acknowledged" : true }

POST /_reindex?wait_for_completion=false

{

"source": {

"index": "nba"

},

"dest": {

"index": "nba_20200202"

}

}

---------------------------------------------------------------------------------------------------------------

4、查询操作

模糊匹配

排序

5、任务管理

使用Task API获取所有运行的reindex请求的状态:

GET _tasks?detailed=true&actions=*reindex

根据id直接查找任务:

GET /_tasks/taskId:1

取消任务

POST _tasks/task_id:1/_cancel

更改requests_per_second参数的值:

POST _reindex/task_id:1/_rethrottle?requests_per_second=-1

6.最大行数设置

put /index/_settings

{“max_result_window”:“1000000”}

然后get查看是否生效

7.修改密码

http请求需要设置Authorization:Basic base64 encode(elastic:容器设置的密码 )

以curl -XPUT --user elastic:容器设置的密码 http://127.0.0.1:9201/_xpack/security/user/username/_password -H "Content-Type:application/json" -d { "password" : "111111" }

8.索引更新

curl -XPUT http://localhost:9200/myindex/_settings -H Content-Type: application/json -d

{

"index" : {

"number_of_replicas" : 0

}

}

9.索引迁移

创建新索引

PUT log_car_milage_1

修改map

POST /log_car_milage_1/_mapping
{
    "properties" : {
    "deviceId" : {
        "type" : "text",
        "fields" : {
        "keyword" : {
            "type" : "keyword",
            "ignore_above" : 256
        }
        }
    },
    "device_id" : {
        "type" : "text",
        "fields" : {
        "keyword" : {
            "type" : "keyword",
            "ignore_above" : 256
        }
        }
    },
    "distance" : {
        "type" : "long"
    },
    "milage" : {
        "type" : "long"
    },
    "timestamp" : {
        "type" : "date"
    }
  }
}

从旧索引导入数据到新索引

POST _reindex
{
  "source": {
    "index": "log_car_milage"

  },
  "dest": {
    "index": "log_car_milage_1",
  }
}

删除旧索引

DELETE /log_car_milage

给新索引添加别名(旧索引的名称)

POST /_aliases
{
    "actions": [
        { "add": {
            "alias": "log_car_milage",
            "index": "log_car_milage_1"
        }}
    ]
}
经验分享 程序员 微信小程序 职场和发展