最近要在项目中上 es 了,对于一些开发上的选择不知如何决定,是否有类似 Java 开发规范一样的 es 规范?
主要用于非日志数据的存储与检索,有如下 2 个问题:
1 ES 中可以使用动态模板,但对于一个索引中确定的字段,是像 mysql 一样把字段都写在 mapping 中,基本不使用动态模板,还是依赖动态 mapping 去生成?(规定好一个全局动态模板)
2 ES 中推荐使用别名,但插入数据时需要真实索引名,在开发中是否有必要一定要上别名?如果要上的话,别名与真实索引名的对应关系是不是应该硬编码在某个地方?(没有查到怎么根据别名查对应索引名...)
1
gtexpanse 2020-11-09 20:44:03 +08:00 via iPhone
1. 尽量一开始就指定 mapping 类型,因为数据量大了之后肯定要考虑这个问题
2. 插入数据没限制真实索引名啊(莫非是新特性?),别名建议读写分离两个别名,后期 rebuild 全靠别名 |
2
alexfarm 2020-11-09 20:46:56 +08:00
索引量较大建议按日拆分索引,那就需要别名了
|