当前位置: 首页 > 面试题库 >

Elasticsearch文档的最大大小是多少?

樊杰
2023-03-14
问题内容

我阅读了有关Lucene限制2Gb文档的说明。在Elasticsearch中可以建立索引的文档大小是否还有其他限制?


问题答案:

Lucene内部使用一个字节缓冲区,该缓冲区使用32位整数进行寻址。根据定义,这限制了文档的大小。因此,理论上最大2GB。

在ElasticSearch中:

max http request sizeES
GitHub代码中有一个,并将其设置为Integer.MAX_VALUE2^31-1。因此,基本上,
2GB是通过HTTP进行批量索引的最大文档大小 。此外,ES不会处理HTTP请求,直到它完成为止。

良好做法:

  • 如果可以帮助,请不要使用非常大的Java堆:仅将其设置为必要的大小(最好不超过机器RAM的一半),以容纳使用Elasticsearch时总的最大工作集大小。这就为操作系统留下了剩余的(希望是相当大的)RAM来管理IO缓存。
  • 客户端,请始终使用批量api,该api在一个请求中为多个文档建立索引,并尝试使用正确数量的文档与每个批量请求一起发送。最佳尺寸取决于许多因素,但是请尽量避免文件太少而不是太多。将并发批量请求与客户端线程一起使用,或将异步请求单独使用。

要进一步研究,请参考以下链接:

  1. Elasticsearch索引的性能注意事项

  2. 通过HTTP进行批量索引的文档最大大小



 类似资料:
  • 本文向大家介绍MongoDB中文档的最大大小是多少,包括了MongoDB中文档的最大大小是多少的使用技巧和注意事项,需要的朋友参考一下 该文档是集合中的记录。每个文档的大小限制为16 MB。文档包裹在大括号({})中。 让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 问题内容: 甲文件是一个相当有据可查的格式定义部分和大小,因此,最大尺寸为好。 例如,一个文件包含一个幻数(4个字节),一个版本(4个字节),常量池(可变大小)等。但是大小可以在几个级别上定义:您可以有65535个方法,每个方法都限于65535字节。 其他限制是什么? 而且,如果您要制作最大的文件,它将是多少? 如果需要,将答案限制为Java。这意味着如果Scala或Clojure(或…)更改了一

  • A文件是一种有很好文档记录的格式,它定义了节和大小,因此也定义了最大大小。 例如,a文件包含一个幻数(4字节)、一个版本(4字节)、常量池(可变大小)等。但大小可以在多个级别上定义:可以有65535个方法,每个方法限制为65535字节。 其他限制是什么?如果你想做最大的文件可能是什么大小? 如果需要,限制对Java的回答。意思是如果Scala或Clojure(或…)改变一些限制,忽略这些值。

  • 问题内容: 由于(当前)仅支持将字符串作为值,并且为了做到这一点,需要先将对象进行字符串化(存储为JSON- string),然后才可以定义值的长度。 有谁知道是否存在适用于所有浏览器的定义? 问题答案: 储存空间 暗示,使用DOM存储,您具有比对Cookie施加的典型用户代理限制更大的存储空间。但是,提供的数量未在规范中定义,用户代理也没有有意义地广播。 如果您查看Mozilla源代码,我们可以

  • 问题内容: 由于(当前)仅支持将字符串作为值,并且为了做到这一点,需要先将对象进行字符串化(存储为JSON- string),然后才可以定义值的长度。 有谁知道是否存在适用于所有浏览器的定义? 问题答案: 引用有关Web存储的Wikipedia文章: 可以简单地将网络存储视为Cookie的一种改进,它提供了更大的存储容量(Google Chrome中每个原始站点10 MB,Mozilla Fire

  • 问题内容: 读取文件太大而无法容纳缓冲区时,出现致命错误。 要么, RangeError:“ size”参数不得大于Function.Buffer.allocUnsafe(buffer.js:209:3)的2147483647 如果我尝试分配1GB缓冲区,则会遇到同样的致命错误, Node.js Buffer类实例的最大大小是多少? 问题答案: V8中类型化数组的最大长度当前设置为以下值,具体取决