我读到有关Lucene deing仅限于2Gb文档的说明。对于可在Elasticsearch中编制索引的文档的大小是否有任何其他限制?
答案 0 :(得分:37)
Lucene在内部使用一个字节缓冲区,它使用32位整数进行寻址。根据定义,这限制了文档的大小。所以理论上2GB是最大的。
在ElasticSearch中:
ES GitHub代码中有一个max http request size
,它是针对Integer.MAX_VALUE
或2^31-1
设置的。因此,基本上, 2GB是通过HTTP进行批量索引的最大文档大小。而且要添加它,ES在完成之前不会处理HTTP请求。
良好做法:
有关进一步研究,请参阅以下链接:
答案 1 :(得分:3)
多年来,Elasticsearch认为情况已经发生了些微变化。在此处引用的7.x文档中-General Recommendations:
鉴于默认的http.max_content_length设置为100MB,Elasticsearch将拒绝索引任何大于该长度的文档。您可能决定增加该特定设置,但是Lucene仍然有大约2GB的限制。
因此,ES似乎有大约100MB的限制,而Lucene的限制是2GB,这是另一个答案。