Elasticsearch之settings和mapping的意义(一)

简单的说,就是:

  • settings是修改分片和副本数的。
  • mappings是修改字段和类型的。

一、ES中的settings
查询索引库中的settings信息:

[root@localhost ~]# curl -XGET http://localhost:9200/movies/_settings?pretty
返回的结果如下:
{
  "movies" : {
    "settings" : {
      "index" : {
        "creation_date" : "1511770093077",
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "uuid" : "pB0UsxjfQT2fW-s8Uy-Nsg",
        "version" : {
          "created" : "2030599"
        }
      }
    }
  }
}

number_of_shards 主分片
number_of_replicas 副本

setting修改索引库的默认配置:
例如:分片数量、副本数量。
查看:curl -XGET http://localhost:9200/movies/_settings?pretty

操作不存在索引:

curl -XPUT 'http://localhost:9200/liuch/' -d '{"settings":{"number_of_shards":3,"number_of_replicas":1}}'
返回的结果如下:
{"acknowledged":false}

在elasticsearch的head插件中查到如下的结果:

Elasticsearch之settings和mapping的意义(一)_第1张图片
操作不存在索引时,生成的索引.png

在上图中,有颜色的012是主分片,灰色的012是副本,如果 number_of_replicas的值是2,则是001122,如下图所示。

curl -XPUT 'http://localhost:9200/liuch/' -d '{"settings":{"number_of_shards":3,"number_of_replicas":2}}'
Elasticsearch之settings和mapping的意义(一)_第2张图片
image.png

操作已存在索引:

curl -XPUT 'http://localhost:9200/movies/_settings' -d '{"index":{"number_of_replicas":1}}'
返回的结果如下:
{"acknowledged":true}

总结:
不存在索引时,可以指定副本和分片;
如果存在索引,则只能修改副本。
在创建新的索引库时,可以指定索引分片的副本数。默认是1。

你可能感兴趣的:(Elasticsearch之settings和mapping的意义(一))