寻找更好的解决方案来避免lucene对文档总数的硬限制。有没有办法提高限额。
我们正在其中一个数据中心上运行dse搜索,我们正在达到lucene对文档数量的严格限制。
可能的解决方案是:
1) 添加新的节点,这样数据就可以用新的令牌重新分配,搜索就可以正常工作了。在我们的情况下,目前还不可行。
2) 解除其中一个节点的任务,并通过增加num_令牌来重建节点,这样它就可以在更多的分区中容纳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条答案
按热度按时间cbjzeqam1#
您受到lucene的限制,在单个索引中不能有超过2b个文档。您可以通过以下方式减少文档数量:
向集群添加新节点(正如您已经提到的);
不索引作为单独文档索引的UDT