ElasticSearch数据类型的限制是什么?

时间:2014-12-23 16:50:03

标签: string indexing elasticsearch lucene limit

Here是我们可以在ElasticSearch中用来存储信息的数据类型列表。

但我找不到提及数据时间限制的链接。例如,String字段可以包含多少个字符?它是否与java限制相同(即Integer.MAX_VALUE或2 ^ 31-1或String约为20亿)?

由于ElasticSearch使用树结构来存储信息,我认为可能存在局限性,因为大多数RDBMS都对数据类型有严格的限制。

注意:我的问题是系统的内存限制。如果我有足够的内存来创建一个非常大的字符串,我可以使用ElasticSearch索引并存储它吗?

1 个答案:

答案 0 :(得分:1)

我不确定Elasticsearch特有的限制,但Lucene的限制列在Javadoc中:

  

Lucene的当前实现使用Java int来保存该术语   index,表示任何单个中唯一项的最大数量   索引段是术语索引间隔的约21亿倍(默认值   128)= ~2,740亿。这在技术上不是指数的限制   文件格式,只是Lucene当前的实现。

     

同样,Lucene使用Java int来引用文档编号,和   索引文件格式使用磁盘上的Int32来存储文档编号。   这是索引文件格式和当前的限制   实现。最终这些应该用UInt64替换   值,或更好的是,没有限制的VInt值。