elasticsearch 索引管理
如果你想禁止自动创建索引,你可以通过在 config/elasticsearch.yml
的每个节点下添加下面的配置:
2.0版本
action.auto_create_index: false
索引管理
创建索引
curl -X PUT "localhost:9200/dev_employee_20181221"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X PUT "localhost:9200/dev_employee_20181219"
{"acknowledged":true,"shards_acknowledged":true,"index":"dev_employee_20181219"}
删除索引
// 删除一个
curl -X DELETE "localhost:9200/dev_employee_20181221"
// 删除多个
curl -X DELETE "localhost:9200/dev_employee_20181220,dev_employee_20181221"
curl -X DELETE "localhost:9200/dev_employee_*"
// 删除所有
curl -X DELETE "localhost:9200/_all"
curl -X DELETE "localhost:9200/*"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X DELETE "localhost:9200/dev_employee_20181219"
{"acknowledged":true}
索引设置
number_of_shards 每个索引的主分片数,默认值是 5 。这个配置在索引创建后不能修改。
number_of_replicas 每个主分片的副本数,默认值是 1 。对于活动的索引库,这个配置可以随时修改。
curl -X PUT "localhost:9200/my_temp_index" -H 'Content-Type: application/json' -d'
{
"settings": {
"number_of_shards" : 1,
"number_of_replicas" : 0
}
}
'
curl -X PUT "localhost:9200/my_temp_index/_settings" -H 'Content-Type: application/json' -d'
{
"number_of_replicas": 1
}
'
配置分词器
curl -X PUT "localhost:9200/spanish_docs" -H 'Content-Type: application/json' -d'
{
"settings": {
"analysis": {
"analyzer": {
"es_std": {
"type": "standard",
"stopwords": "_spanish_"
}
}
}
}
}
'
curl -X GET "localhost:9200/spanish_docs/_analyze?analyzer=es_std" -H 'Content-Type: application/json' -d'
El veloz zorro marrón
'
创建索引 curl -X PUT "localhost:9200/dev_employee_20181221"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X PUT "localhost:9200/dev_employee_20181221"
{"acknowledged":true,"shards_acknowledged":true,"index":"dev_employee_20181221"}
给索引添加别名 curl -X PUT "localhost:9200/dev_employee_20181221/_alias/dev_employee"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X PUT "localhost:9200/dev_employee_20181221/_alias/dev_employee"
{"acknowledged":true}
检测这个别名指向哪些索引 同一别名多个索引 curl -X GET "localhost:9200/*/_alias/dev_employee"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X GET "localhost:9200/*/_alias/dev_employee"
{"dev_employee_20181221":{"aliases":{"dev_employee":{}}},"dev_employee_20181220":{"aliases":{"dev_employee":{}}}}
哪些别名指向这个索引 一个索引多个别名 curl -X GET "localhost:9200/dev_employee_20181221/_alias/*"
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X GET "localhost:9200/dev_employee_20181221/_alias/*"
{"dev_employee_20181221":{"aliases":{"dev_employee":{},"sit_employee":{}}}}
索引添加别名、 索引删除别名、 索引修改别名(索引不变,别名变了)、 索引切换(别名不变,索引换了)
curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
"actions": [
{ "remove": { "index": "dev_employee_20181220", "alias": "dev_employee" }},
{ "add": { "index": "dev_employee_20181221", "alias": "dev_employee" }}
]
}
'
#索引添加别名
curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
"actions": [
{ "add": { "index": "dev_employee_20181221", "alias": "dev_employee" }}
]
}
'
#索引删除别名
curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
"actions": [
{ "remove": { "index": "dev_employee_20181220", "alias": "dev_employee" }}
]
}
'
#索引修改别名
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
"actions": [
{ "remove": { "index": "dev_employee_20181220", "alias": "dev_employee" }},
{ "add": { "index": "dev_employee_20181220", "alias": "dev_employee_backup" }}
]
}
'
{"acknowledged":true}
#索引切换(别名不变,索引换了)
WKQ@WKQ-PC MINGW64 /d/WorkSpaces
$ curl -X POST "localhost:9200/_aliases" -H 'Content-Type: application/json' -d'
{
"actions": [
{ "remove": { "index": "dev_employee_20181220", "alias": "dev_employee" }},
{ "add": { "index": "dev_employee_20181221", "alias": "dev_employee" }}
]
}
'
{"acknowledged":true}
参考资料
[1] elasticsearch-2.0-索引管理
[2] elasticsearch-6.0-index-modules
[3] elasticsearch-8.6-ilm-actions