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

2018-02-13 15:34:31 +08:00
 jahan

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

3698 次点击
所在节点    Elasticsearch
8 条回复
bayker
2018-02-13 15:54:27 +08:00
有关系的表全放到一个 index。
es 主要就是冗余到一个文档里,别担心冗余会造成性能问题。
(个人心得,仅供参考)
knktc
2018-02-13 16:03:28 +08:00
可以放到一个 index 里面,每个 doc 加一个客户字段即可。也可以放到几个 index 里面,每个客户一个 index,查询的时候拼装 index 的名字,但是某些统计可能就不好做了。
acepcs
2018-02-13 16:07:04 +08:00
其实全部放一个 index 里就可以了。
Hieast
2018-02-13 22:39:57 +08:00
如果结构以后一直都是相同的,那么就放到一个 index 里面比较方便。
嘛,反正有 reindex,数据量不大的话可以两种建议都试试,我是觉得放在一个 index 里面方便管理和写查询。
jahan
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
2018-02-14 00:59:46 +08:00
@Hieast 客户所有的表,以及表里的的字段都不会改变了。
jahan
2018-02-14 01:05:43 +08:00
@knktc 目前 oracle 里面的数据是做所有的客户的视图来实现的。
如果是给每一个客户下的表都加上一个客户字段,应该也可以完成这个功能。

@bayker 的意思是把客户对应的表放在一起?
@Hieast 和 @acepcs 的意思是,所有客户的数据一股脑放在一个 index 下面?
jahan
2018-02-14 02:28:47 +08:00
看了一下,5 张表中都有客户编码,所以如果都放在一个 index 下面,那么 index/表 1,。。。。index/表 5,就可以了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/430578

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX