Elasticsearch索引管理(一)——创建索引

1 创建索引


创建索引API用于在Elasticsearch中手动创建索引。Elasticsearch中的所有文档都存储于索引中。

PUT sss

note:使用默认设置创建索引sss。

索引命名限制

  • 索引名必须为小写
  • 不能包括\ / * ? " < > | ` 空白符 , #
  • 7.0之前的索引包含冒号( : ),但冒号将会在7.0+之后废弃
  • 不能以- _ +开头
  • 不能为 . 或 …
  • 不能超过255个字节(由于一个字符为多个字节,所以多字符将会很快达到字节限制)

1.1 索引设置

在创建索引时,可以在正文中定义被创建索引特有的设置。
创建索引并设置所创建的索引设置

PUT ssss
{
  "settings": {
    "index" : {
      "number_of_shards":7,
      "number_of_replicas":4
    }
  }
}

note:创建切片数量为7,备份数量为4名为ssss的索引。

ps:创建的切片数量默认为5,备份数量默认为1。

ps:配置可以通过不显式指明index部分来简化操作。

创建索引并设置所创建的索引设置(简化版)

PUT ssss
{
  "settings": {
      "number_of_shards":33,
      "number_of_replicas":4
  }
}

note:此为上面操作的简化版本。

1.2 映射

创建索引API可以提供类型映射。

PUT ggg
{
  "settings":{
    "number_of_shards" : 1
  },
  "mappings" : {
    "asd" : {
      "properties":{
        "sg" :{ "type" : "text"}
      }
    }
  }
}

note:创建一个名为ggg的索引,此索引中有一个名为asd的类型,此类型中有一个text类型的名为sg的字段。

1.3 别名

创建索引API可以提供一组别名。

1.4 等待活动切片

默认情况下,当每个切片的主备份已经开始或请求超时时,索引创建才会返回给客户端一个响应。

索引创建响应将会指明发生了什么:

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

acknowledged表示索引是否成功地在集群中创建。
shards_acknowledged表示在超时之前,对于索引中的每份切片,是否已经启动了必要数量的切片副本。

注意,索引创建成功,但acknowledged或shards_acknowledged仍可能为false。这些值只表明在超时之前这些操作是否已经完成。

如果acknowledged为false,则表明在新创建的索引更新集群状态之前请求超时,但可能之后完成了创建。
如果shards_acknowleged为false,在必要数量的切片(默认正好为主切片)启动之前,甚至集群状态已经更新为成功创建了新索引(即,acknowledged=true),请求超时。

可以通过索引设置index.write.wait_for_active_shards改变只等待主切片启动的默认设置。(注意,修改此设置可能可能会影响后续所有写入操作的wait_for_active_shards值。)

翻译源:Elasticsearch 6.4 文档

猜你喜欢

转载自blog.csdn.net/qq_32165041/article/details/83346349