Here是我们可以在ElasticSearch中用来存储信息的数据类型列表。
但我找不到提及数据时间限制的链接。例如,String字段可以包含多少个字符?它是否与java限制相同(即Integer.MAX_VALUE或2 ^ 31-1或String约为20亿)?
由于ElasticSearch使用树结构来存储信息,我认为可能存在局限性,因为大多数RDBMS都对数据类型有严格的限制。
注意:我的问题是系统的内存限制。如果我有足够的内存来创建一个非常大的字符串,我可以使用ElasticSearch索引并存储它吗?
答案 0 :(得分:1)
我不确定Elasticsearch特有的限制,但Lucene的限制列在Javadoc中:
Lucene的当前实现使用Java int来保存该术语 index,表示任何单个中唯一项的最大数量 索引段是术语索引间隔的约21亿倍(默认值 128)= ~2,740亿。这在技术上不是指数的限制 文件格式,只是Lucene当前的实现。
同样,Lucene使用Java int来引用文档编号,和 索引文件格式使用磁盘上的Int32来存储文档编号。 这是索引文件格式和当前的限制 实现。最终这些应该用UInt64替换 值,或更好的是,没有限制的VInt值。