Elasticsearch 和 Lucene 文档限制

Posted

技术标签:

【中文标题】Elasticsearch 和 Lucene 文档限制【英文标题】:Elasticsearch and Lucene document limit 【发布时间】:2017-04-22 10:27:00 【问题描述】:

在我们的弹性搜索安装中,来自 stats api 的文档计数显示约为 7 亿,而来自 count api 的实际文档计数约为 2700 万。我们知道这种差异来自嵌套文档计数 - stats api 显示所有内容。

在 Lucene 文档中,我们读到一个分片有 20 亿个硬文档计数限制。我是否应该担心 elasticsearch 即将达到文档限制?或者我应该监控来自 count api 的数据吗?

【问题讨论】:

也许您应该考虑将数据拆分为更多索引。例如,如果您要存储基于时间的数据,则可以创建每日索引。 其实我们并不直接控制索引,我们依赖apache usergrid进行索引控制。 【参考方案1】:

是的,每个分片的文档数量限制为 20 亿,这是一个硬 lucene 限制。

在单个 Lucene 索引中可以拥有的文档数量是最大的。从 LUCENE-5843 开始,限制为 2,147,483,519 (= Integer.MAX_VALUE - 128) 个文档。

您应该考虑水平缩放。

【讨论】:

以上是关于Elasticsearch 和 Lucene 文档限制的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch - Lucene分片内部逻辑

Grafana 中的 Elasticsearch lucene 查询

007-elasticsearch概述Elasticsearch 访问方式Elasticsearch 面向文档常用概念

Lucene

《从Lucene到Elasticsearch:全文检索实战》学习笔记五

三Elasticsearch核心概念