提问:布和纸怕什么?

请问一个关于是否拆分索引的问题

Elasticsearch | 作者 envy666 | 发布于2019年01月18日 | 阅读数:2056

我现在得情况如下
大概600G的数据量,3000多万条文档,文档分三类,但是拥有的字段基本一样
现在是每类新建了一个索引,查询的时候同时查询这三个索引获得最终结果,
请问我现在的这种按类型拆分索引是否有必要? 单个索引会不会性能更好一些,谢谢大家
(注:实际的业务上查询并发量很大,但数据更新不频繁,每周一次)
已邀请:

envy666

赞同来自:

我现在得情况如下
大概600G的数据量,3000多万条文档,文档分三类,但是拥有的字段基本一样
现在是每类新建了一个索引,查询的时候同时查询这三个索引获得最终结果,
请问我现在的这种按类型拆分索引是否有必要? 单个索引会不会性能更好一些,谢谢大家
(注:实际的业务上查询并发量很大,但数据更新不频繁,每周一次)
匿名用户

匿名用户

赞同来自:

数据量不大,如果有分类需求。建议一个索引增加一个分类字段即可

JackGe

赞同来自:

这3类文档的数据量相差很大吗?如果相差很大建议每一类建一个索引,每一个索引根据该类文档数据合理分配shard个数。如果相差很小可以增加一个分类字段,合并成一个索引。
当然每一类分成一个索引对于需要删除某一类的数据时就方便了,直接删除对应索引即可。合并成一个索引的话,删除某一类的数据使用delete by query就很慢了。

rochy - rochy_he

赞同来自:

分不分索引对查询效率影响不大;
因为所有的查询实在分片的基础上进行的,
一个索引10个分片和 三个索引一共 10 个分片的效果是差不多的
个人推荐还是根据查询条件对索引进行优化;
例如根据某个 terms 查询将索引的内容分类型;
或者添加 path 等手法

zqc0512 - andy zhou

赞同来自:

三个索引查询比一个要快些吧。这玩意分片多啊。 性能能够刚得住么?能够岗得住就继续拆分吧,要自己测试一个合理分片。

要回复问题请先登录注册