随着业务需求的变更,索弓的结构可能发生改变。
- ElasticSearch的索引- -旦创建,只允许添加字段,不允许改变字段。因为改变字段,需要重建倒排索引,影响内部缓存结构,性能太低。
- 那么此时,就需要重建一一个新的索引, 并将原有索引的数据导入到新索引中。
操作流程/思路如下:
刚刚使用es,按照要求创建一个索引:http://ip:9200/person_v1;
然后为其创建文档:http://ip:9200/person_v1/_doc/1
当这样运行很久之后,发现需要将age的类型改一下,不在使用integer类型。这个时候不可能在原来的索引进行类型更改。只能新创建一个索引然后,将老索引的数据导入到新索引之中。
拷贝之后发现,代码中用的还是v1.而实际应该使用v2.此时又不可能去代码中更改,索引良好的方式是删除原来的索引,然后将索引v2取别名为v1.这样就不需要修改代码。通过访问v1/v2都可以获取v2的数据
连接:https://docs.apipost.cn/preview/02144b773faf6d9c/c996fd199e37bd5e