Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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
如何手动合并solr中的段?_Solr_Lucene - Fatal编程技术网

如何手动合并solr中的段?

如何手动合并solr中的段?,solr,lucene,Solr,Lucene,在solr admin ui中,我看到我的一个solr内核有165个段。这种情况会减慢查询速度。为了加快查询速度,我想知道如何将所有solr段合并为单个段? thx.您可以在solrconfig.xml中指定MergePolicy,以便Solr自己合并段 您大致需要做的是添加类似的内容(当然要根据您的需要进行更新) 10 它会自动完成,并且会按照一定的时间表完成。我想这是首选的方式 有关配置的详细信息,请参阅- 如果您需要简单的方法,只需点击Solr管理界面中的优化按钮即可 还有一个命令,您可

在solr admin ui中,我看到我的一个solr内核有165个段。这种情况会减慢查询速度。为了加快查询速度,我想知道如何将所有solr段合并为单个段?
thx.

您可以在solrconfig.xml中指定MergePolicy,以便Solr自己合并段

您大致需要做的是添加类似的内容(当然要根据您的需要进行更新)

10
它会自动完成,并且会按照一定的时间表完成。我想这是首选的方式

有关配置的详细信息,请参阅-

如果您需要简单的方法,只需点击Solr管理界面中的优化按钮即可


还有一个命令,您可以手动使用该命令强制合并段-

/update?optimize=true&waitSearcher=false&maxSegments=1

请记住,索引越大,您需要的可用空间就越多。优化将创建索引的副本,对其进行优化,然后将优化后的版本切换到生产。也就是说,我将mergefactor设置为200,索引现在有165个段,然后如果我想将它们合并为单个段,我应该做的只是将mergefactor设置为1,solr将自己执行此操作。也就是说,我将mergefactor设置为200,索引现在有165个段,如果我想将它们合并为单个段,我应该做的只是将mergefactor设置为1,solr将自己完成这项工作。我的理解正确吗?我曾经认为合并只发生在提交时,当你调整合并因子时,solr会时不时地进行优化,以防有太多的段。根据我的经验,将该值设置为1用于生产不是一个好主意。如果您有一个没有提交的存档索引,这将是明智的。我的目标值是7-20,这取决于执行索引操作的频率。
/update?optimize=true&waitSearcher=false&maxSegments=1