代码之家  ›  专栏  ›  技术社区  ›  Skarab

在32位操作系统上,索引java lucene 3.0.2的最大文档大小/数量是多少

  •  2
  • Skarab  · 技术社区  · 14 年前

    我在玩lucene和40GB的数据(大约500M的元组,两个字段的行为类似于键值)。我已经创建了一个35 GB的索引,但它不起作用。因此,我想创建一组较小的指标,但为此,我需要关于最大尺寸的信息。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Community CDub    4 年前

    你用什么文件系统?你绝对确定你已经创建了一个有效的索引吗?你到底是如何索引你的数据的?

    局限性

    当提到术语编号时,Lucene的当前实现使用javaint,这意味着任何单个索引段中唯一术语的最大数量是2147483648。这在技术上不是索引文件格式的限制,只是Lucene当前实现的限制。

    类似地,Lucene使用javaint来引用文档编号,索引文件格式使用Int32在磁盘上存储文档编号。这是索引文件格式和当前实现的一个限制。最终,这些应该被UInt64值或者更好的是,没有限制的VInt值所取代。

    http://lucene.apache.org/java/3_0_0/fileformats.html#Limitations

        2
  •  0
  •   Kai Chan    14 年前

    你在用吗 MMapDirectory 和32位虚拟机?如果是这样,地址空间就不足以覆盖整个索引,这可能会导致问题。如果那样的话,你需要使用 SimpleFSDirectory NIOFSDirectory 相反。注意如下函数 FSDirectory.open(File) 返回a FSDirectory ,它可能是也可能不是MMapDirectory。