Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当文档大小大于Solr中的内存时?_Java_Memory_Solr_Lucene_Search Engine - Fatal编程技术网

Java 当文档大小大于Solr中的内存时?

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

我有3gb的文档大小和1.5gb的ram。当我启动Solr实例时,它会自动开始消耗1gb内存。然后输入curl命令,从控制台更新文档。几秒钟后,Solr实例将填满所有内存并开始消耗cpu。更新过程永远不会完成,cpu使用率会随着时间的推移而增加。有办法处理这个问题吗


我的Solr模式在这里:

您有多少文档?还是这是一个3gb的文档

如果您有多个单据,可以批量添加,并在每个批次后提交。每批容量可能小于100mb。这样就可以管理堆大小


另外,为了解决眼前的问题,您可以增加操作系统虚拟内存并使用更高的java堆大小(-Xmx,4gb)。

不幸的是,我只有一个文档。我只能分离2gb-500mb-500mb。此时我无法增加记忆。:/这是Solr的预期行为吗?我认为您只是遇到了各种物理资源和设计限制。文档需要从磁盘发送到jetty服务器,然后jetty服务器反序列化文档并发送到Solr servlet。如果您使用的是csv格式,那么至少不需要解析xml文档(文档格式是什么?)。你用的是什么分析仪?另外,有兴趣知道用例是什么(因为任何/所有搜索命中都返回相同的文档id)。