ElasticSearch索引数百个索引

时间:2016-02-22 09:32:44

标签: elasticsearch

我有以下情况:

  • 超过1亿件物品(每月增加1000万件)。
  • 8个弹性服务器
  • 我们的一个索引的碎片

到目前为止,所有这些项目都在同一索引(不同类型)下编制索引。为了改善环境,当我们的口头禅是 - 每个碎片不超过30GB时,我们决定用geohash代码索引项目。

当前状态是我们有超过1500个索引,每个索引有12个分片,并且每个项目都将插入其中一个索引中。你可以理解,碎片的数量超过了20000 ....

我们的索引采用<Base_Index_Name>_<geohash>

格式

我的问题是由于性能问题引起的,这使我质疑我们的方法。简单计数查询格式为GET * / _ count 需要几秒钟! 如果我的意图是质疑许多指数,那么这种实施是不是很糟糕?具有8个虚拟服务器的群集应该有多少个索引?多少个碎片?我们拥有大量数据并且发展迅速。

1 个答案:

答案 0 :(得分:0)

实际上这取决于您的使用情况。查询所有索引需要很长时间,因为查询应该转到所有分片,结果应该在之后合并。 20K分片不是一个容易查询的任务。 如果您的数据是基于时间的,我建议您将月份或日期信息添加到索引名称,并将查询更改为GET indexname201602/searchGET *201602。 这样,您可以大幅减少查询执行的分片数量,并且花费的时间会少得多