ElasticSearch常用命令
场景:随着我的项目版本迭代,导致ES索引构造也会跟着变动,而ES又没有重命名这一说,所以每次批改索引构造原有字段就须要从新建索引,而后再做数据迁徙。

如果间接应用索引名称,在做数据迁徙的时候会变得很繁琐,能够看我上篇文章,这么繁琐的步骤操作起来就容易出错。而如果应用ES别名,间接操作别名就不便很多了。

#查看所有索引GET _cat/indices{}#查看索引构造GET live_new/_mapping{}#查看指定索引别名GET live_new/_alias/*{}GET live_new/_mapping{}#给索引增加别名POST /_aliases{    "actions": [       { "add":{ "index": "live_new", "alias": "datacube_live" }}    ]}POST _reindex{  "source": {    "index": "live"  },  "dest": {    "index": "live_new"  }}#移除就索引增加新索引POST /_aliases{    "actions": [        { "remove": { "index": "live_new", "alias": "datacube_live" }},        { "add":    { "index": "live_new_v2", "alias": "datacube_live" }}    ]}PUT live_new{  "mappings": {    "properties": {      "room_id": {        "type": "keyword"      },      "room_name": {        "type": "text",        "analyzer": "ik_max_word",        "search_analyzer": "ik_smart"      },      "shop_ids": {        "type": "keyword"      },      "live_date": {        "type": "keyword"      },      "start_time": {        "type": "keyword"      },      "end_time": {        "type": "keyword"      },      "goods_list": {        "type": "nested",        "properties": {          "goods_id": {            "type": "keyword"          },          "goods_name": {            "type": "text"          },          "sku_code": {            "type": "keyword"          },          "category_id": {            "type": "keyword"          },          "activity_type": {            "type": "keyword"          },          "lecture_type": {            "type": "keyword"          },          "area_ids": {            "type": "keyword"          }        }      },      "is_empty": {        "type": "boolean"      },      "is_callback": {        "type": "boolean"      },      "is_pal_15": {        "type": "boolean"      },      "creator_id": {        "type": "keyword"      },      "push_type": {        "type": "keyword"      },      "create_at": {        "type": "keyword"      },      "is_del": {        "type": "boolean"      }    }  }}