文档过多:索引不能超过2147483519,但读者的总maxDoc = 2147483531

时间:2019-02-13 17:41:57

标签: solr cassandra lucene datastax-enterprise

寻找更好的解决方案来避免Lucene对总文档数的严格限制。有没有办法增加限额。

我们正在其中一个数据中心上运行DSE搜索,并且达到了Lucene对文档数量的严格限制。

可能的解决方案是:
1)添加新节点,以便使用新令牌重新分配数据,并且搜索功能正常。到目前为止,就我们而言,这还不可行。
2)取消使用其中一个节点并通过增加num_token来重建节点,以便它可以容纳更多分区中的lucene文档(**这是我的假设)

仅供参考::我知道DSE在搜索中更喜欢单一令牌,但是我的组织正在使用虚拟令牌系统。

以下是系统日志文件中的实际日志。

 Caused by: org.apache.lucene.index.CorruptIndexException: Too many documents: an index cannot exceed 2147483519 but readers have total maxDoc=2147483531 (resource=BufferedChecksumIndexInput(MMapIndexInput(path="/data/cassandra/data/solr.data/keyspace.table_name/index/segments_2lj")))

任何建议表示赞赏。

1 个答案:

答案 0 :(得分:2)

您受到Lucene的限制,在单个索引中不能有超过2B个文档。您可以通过以下方式减少文档数量:

  1. 将新节点添加到集群(如前所述);
  2. 不索引被索引为单独文档的UDT