1. 程式人生 > >elasticsearch索引管理

elasticsearch索引管理

–檢視叢集健康狀況
GET /_cluster/health

修改叢集名稱和節點名稱,可以在配置檔案elasticsearch.yml中修改:
cluster.name: testcluster
node.name: node-1

預設配置
–檢視所有索引的分片設定情況
GET /_settings

–檢視指定索引的分片設定情況
GET /testindex/_settings

系統會自帶好些個系統索引,我的有11個之多,系統索引都是一個主分片,一個複製分片。

預設情況下,自己建立的索引,有5個主分片,有一個複製分片。

索引的建立與修改
系統預設會自動新增資料庫和表,
如果要手動新增,需要在配置檔案config/elasticsearch.yml中新增一行:
action.auto_create_index: false

禁止自動建立mapping:
index.mapper.dynamic : false

–建立只有一個主分片,沒有複製分片的索引。
(注:在索引建立後,主分片個數不能修改)

PUT /testindex
{
    "settings": {
        "number_of_shards" :   1,
        "number_of_replicas" : 0
    }
}

–修改索引

PUT /testindex/_settings
{
    "number_of_replicas": 1
}

–刪除指定資料庫testindex
DELETE /testindex

表結構的建立與修改
–建立一個新表testtable,只有一個欄位message:

PUT testindex 
{
  "mappings": {
    "testtable": {
      "properties": {
        "message": {
          "type": "text"
        }
      }
    }
  }
}

–建立一個新表user,只有一個欄位name

PUT testindex/_mapping/user 
{
  "properties": {
    "name": {
      "type": "text"
} } }

–給表testtable新增一個欄位demo

PUT testindex/_mapping/testtable
{
  "properties": {
    "demo": {
      "type": "text"
    }
  }
}

–檢視指定表名的表結構
GET /_mapping/testtable

–檢視多個表的表結構
GET /_mapping/testtable,user

–檢視所有資料庫及表的結構
GET /_mapping

–檢視指定資料庫testindex中所有表的結構
GET /testindex/_mapping
GET /testindex/_settings,_mappings

參考:
叢集、分片、節點等概念
http://www.cnblogs.com/dennisit/p/4133131.html

手動指定分片的分佈
http://hugoren.iteye.com/blog/2276743