V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
alexfarm
V2EX  ›  Elasticsearch

关于按日拆分索引的 Java 实现

  •  
  •   alexfarm · 2020-04-22 21:19:10 +08:00 · 1836 次点击
    这是一个创建于 1704 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要按日拆分索引去存储文档,有两种实现方式,想咨询下优劣或更好的方式 索引命名方式 index-yyyy-MM-dd 第一种是在存储文档前用 exists API 判断 index-yyyy-MM-dd 是否存在,没有则创建一个新索引再插入文档。 第二种是创建一个索引模版,并在 action.auto_create_index 中添加 index*,则没有索引的话会直接新建索引。

    感觉第一种会有并发问题,而且每次判断也繁琐。第二种过于自由... 想知道有没有什么好的实现方式

    4 条回复    2020-04-28 22:34:42 +08:00
    EPr2hh6LADQWqRVH
        1
    EPr2hh6LADQWqRVH  
       2020-04-22 21:28:46 +08:00
    定时任务,当天建立后两天的索引不就完了么
    alexfarm
        2
    alexfarm  
    OP
       2020-04-22 21:39:48 +08:00
    @avastms 在我们公司维护这个定时任务...有点麻烦,网段原因
    Navee
        3
    Navee  
       2020-04-28 21:39:11 +08:00
    无论是否预创建索引,都建议定义模板,在没有模板的情况下自动创建索引时 es 会根据当前字段值推断字段类型,例如 1 和"1",前者是 number,后者是 text
    再说说预创建索引的问题,当需要创建的索引数量不级超过 2 位数时,完全可以让 es 自动创建,因为创建索引时 es 集群需要同步 index meta 信息,当 meta 信息过多时同步过程将阻塞索引的创建
    alexfarm
        4
    alexfarm  
    OP
       2020-04-28 22:34:42 +08:00
    @Navee 好~谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2740 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 09:00 · PVG 17:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.