Java 当文档大小大于Solr中的内存时?
我有3gb的文档大小和1.5gb的ram。当我启动Solr实例时,它会自动开始消耗1gb内存。然后输入curl命令,从控制台更新文档。几秒钟后,Solr实例将填满所有内存并开始消耗cpu。更新过程永远不会完成,cpu使用率会随着时间的推移而增加。有办法处理这个问题吗Java 当文档大小大于Solr中的内存时?,java,memory,solr,lucene,search-engine,Java,Memory,Solr,Lucene,Search Engine,我有3gb的文档大小和1.5gb的ram。当我启动Solr实例时,它会自动开始消耗1gb内存。然后输入curl命令,从控制台更新文档。几秒钟后,Solr实例将填满所有内存并开始消耗cpu。更新过程永远不会完成,cpu使用率会随着时间的推移而增加。有办法处理这个问题吗 我的Solr模式在这里:您有多少文档?还是这是一个3gb的文档 如果您有多个单据,可以批量添加,并在每个批次后提交。每批容量可能小于100mb。这样就可以管理堆大小 另外,为了解决眼前的问题,您可以增加操作系统虚拟内存并使用更高的j
我的Solr模式在这里:您有多少文档?还是这是一个3gb的文档 如果您有多个单据,可以批量添加,并在每个批次后提交。每批容量可能小于100mb。这样就可以管理堆大小
另外,为了解决眼前的问题,您可以增加操作系统虚拟内存并使用更高的java堆大小(-Xmx,4gb)。不幸的是,我只有一个文档。我只能分离2gb-500mb-500mb。此时我无法增加记忆。:/这是Solr的预期行为吗?我认为您只是遇到了各种物理资源和设计限制。文档需要从磁盘发送到jetty服务器,然后jetty服务器反序列化文档并发送到Solr servlet。如果您使用的是csv格式,那么至少不需要解析xml文档(文档格式是什么?)。你用的是什么分析仪?另外,有兴趣知道用例是什么(因为任何/所有搜索命中都返回相同的文档id)。