
# CSS服务中如何更新Elasticsearch生命周期策略？
Elasticsearch生命周期实现使用的是Open Distro的ISM。此处简单介绍不涉及ISM template的策略更新步骤，如果要配置有关ISM template的策略可以参考[Open Distro文档](https://opendistro.github.io/for-elasticsearch-docs/docs/im/ism/)。
1. 当创建一个policy时，系统会往".opendistro-ism-config"索引中写入一条数据，这条数据的"_id"就是policy的名字，内容是policy的定义。
   图1写入一条数据   
   ![](https://support.huaweicloud.com/css_faq/figure/zh-cn_image_0000001960397693.png "点击放大") 
2. 将policy和索引绑定以后，系统会再往".opendistro-ism-config"索引中写入一条数据。这条数据的初始状态如下图所示。
   图2数据初始状态   
   ![](https://support.huaweicloud.com/css_faq/figure/zh-cn_image_0000001933159210.png "点击放大") 
3. 执行explain命令，此时返回的内容只有一条policy的id。
   ```
   GET _opendistro/_ism/explain/data2 
   {
     "data2" : {
       "index.opendistro.index_state_management.policy_id" : "policy1"
     }
   }
   ```
   之后Open Distro会执行一个初始化的流程，将policy的内容填到这条数据中，初始化以后的数据如下图所示。
   图3初始化后数据   
   ![](https://support.huaweicloud.com/css_faq/figure/zh-cn_image_0000001933318578.png "点击放大")
   初始化结束后，policy中的min_index_age都会被复制过来。
   ![](https://support.huaweicloud.com/css_faq/public_sys-resources/note_3.0-zh-cn.png)
   如果此时去更新policy的内容，已经完成初始化流程的索引是完全不感知的，因为它已经将旧的policy的内容复制了一份，更新policy的时候不会去更新复制的那部分内容。
   

4. 修改完policy以后，执行change_policy API完成策略更新，如下所示。
   ```
   POST _opendistro/_ism/change_policy/data1
   {
     "policy_id": "policy1"
   }
   ```
   
 
