在一个用例中,我们需要在SolrCloud中创建大量集合(1000到1500)。在这里,大多数馆藏的文件数量非常有限(100到1000),甚至有些馆藏是空的。我们使用单个分片和2个副本。对于每个副本,我们使用一台具有12GB RAM,32GB SSD的计算机。
现在的问题是,当我们创建大约1400个集合(它们全部为空,即尚未添加文档)时,solr服务就会关闭,显示内存不足异常。我们这里有几个问题-
当我们创建集合时,如果没有文档,每个集合将占用大约8 MB到12 MB的内存。是否可以通过某种方式配置SolrCloud,即它最初占用每个集合的内存都很低(例如每个集合1MB),那么我们将能够使用大约3GB的机器RAM创建1500个集合?
是否有任何方法可以清除/刷新SolrCloud的缓存,特别是从那些我们暂时不访问的集合中(可能是我们可以将那些不活动的集合从内存中取出并在它们不存在时加载回去)再次需要)?
是否可以从SolrCloud收集垃圾存储(可以通过删除文档和集合来创建)?
我们的目标是不增加硬件资源,创建最大数量的馆藏并将高度访问的馆藏和文档保存在内存中。