Elastic Search里更新index的工作是哪种节点负责的?

网文有提到:主节点负责创建索引、删除索引;数据节点,负责数据的存储和相关具体操作,比如索引数据的创建、修改、删除、搜索、聚合。怎么理解“创建索引”和“索引数据的创建”的区别?

主节点(master node)负责管理集群状态,创建和删除索引。
数据节点(data node)负责存储数据,对数据进行CRUD和搜索等操作。“创建索引”指定义索引的映射和设置,相当于建表。“索引数据的创建”指向已有索引中插入新数据,相当于向表中插入记录。所以,创建索引和索引数据的创建有区别:创建索引:产生索引的结构,定义索引的mapping和settings。由主节点完成。
索引数据的创建:向已有索引结构中添加数据。由数据节点完成。例如,在Elasticsearch中:创建索引的请求:

PUT /my_index
{
  "mappings": { ... } 
}

索引数据的创建请求:

POST /my_index/_doc 
{
  "some": "data"
}

可以看出,创建索引产生了索引结构my_index,而索引数据的创建向my_index索引中添加了一条文档数据。所以,主节点负责创建索引,数据节点负责向索引中添加数据。这是它们在索引管理方面的主要区别。