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

初学请 elasticsearch 数据文件如何设计?现有一堆数据,想导入进行分析,如何进行设计呢?

  •  
  •   jahan · 2018-02-13 15:34:31 +08:00 · 3530 次点击
    这是一个创建于 2235 天前的主题,其中的信息可能已经有所发展或是发生改变。

    具体是这样的:a 客户下有 5 张表格,b 客户下有 5 张表格,c 客户下有 5 张表格。表结构都是相同的,分析场景会涉及到单个客户,比如 a,单独的分析;也会涉及到 a,b,c 等所有(或者部分)客户的综合分析,这样怎么做 index 才能比较方便上述的分析场景呢?谢谢。祝大家春节快乐。

    8 条回复    2018-02-14 02:28:47 +08:00
    bayker
        1
    bayker  
       2018-02-13 15:54:27 +08:00
    有关系的表全放到一个 index。
    es 主要就是冗余到一个文档里,别担心冗余会造成性能问题。
    (个人心得,仅供参考)
    knktc
        2
    knktc  
       2018-02-13 16:03:28 +08:00
    可以放到一个 index 里面,每个 doc 加一个客户字段即可。也可以放到几个 index 里面,每个客户一个 index,查询的时候拼装 index 的名字,但是某些统计可能就不好做了。
    acepcs
        3
    acepcs  
       2018-02-13 16:07:04 +08:00
    其实全部放一个 index 里就可以了。
    Hieast
        4
    Hieast  
       2018-02-13 22:39:57 +08:00 via Android
    如果结构以后一直都是相同的,那么就放到一个 index 里面比较方便。
    嘛,反正有 reindex,数据量不大的话可以两种建议都试试,我是觉得放在一个 index 里面方便管理和写查询。
    jahan
        5
    jahan  
    OP
       2018-02-14 00:58:14 +08:00
    @bayker 有关系的表都放在一个 index 下面:是将 A 客户的表 1,B 客户的表 1,。。。。都放在一起;其他类推。我理解的可对?
    可能有一点我没有讲明白,A ( B,C,D,....)客户下面所有的表都没有 A ( B,C,D,....)客户的字段。
    如果每个客户相同的表都放在一个 index 下,应该就乱了吧。
    总是有点 sql 思维。
    jahan
        6
    jahan  
    OP
       2018-02-14 00:59:46 +08:00
    @Hieast 客户所有的表,以及表里的的字段都不会改变了。
    jahan
        7
    jahan  
    OP
       2018-02-14 01:05:43 +08:00
    @knktc 目前 oracle 里面的数据是做所有的客户的视图来实现的。
    如果是给每一个客户下的表都加上一个客户字段,应该也可以完成这个功能。

    @bayker 的意思是把客户对应的表放在一起?
    @Hieast 和 @acepcs 的意思是,所有客户的数据一股脑放在一个 index 下面?
    jahan
        8
    jahan  
    OP
       2018-02-14 02:28:47 +08:00
    看了一下,5 张表中都有客户编码,所以如果都放在一个 index 下面,那么 index/表 1,。。。。index/表 5,就可以了?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3241 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.