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指数1.4_Solr - Fatal编程技术网

拆分Solr指数1.4

拆分Solr指数1.4,solr,Solr,我有一个Solr索引1.4,其大小超过20GB。我想把它分成2到3个索引。 Lucene 3.3具有pkindexspliter函数,但它不使用Solr 1.4索引 是否可以拆分Solr索引1.4 谢谢你的帮助 混合泳不,Solr1.4中没有这样做的“方法”。你需要做的是复制两份索引。在每个副本中,删除记录。然后优化 然后可以对这两个索引执行分布式搜索 希望有帮助。我编写了一个命令行实用程序,根据推荐的方法将Lucene索引分割成碎片 document.uniqueId.hashCode()%n

我有一个Solr索引1.4,其大小超过20GB。我想把它分成2到3个索引。 Lucene 3.3具有pkindexspliter函数,但它不使用Solr 1.4索引

是否可以拆分Solr索引1.4

谢谢你的帮助 混合泳

不,Solr1.4中没有这样做的“方法”。你需要做的是复制两份索引。在每个副本中,删除记录。然后优化

然后可以对这两个索引执行分布式搜索


希望有帮助。

我编写了一个命令行实用程序,根据推荐的方法将Lucene索引分割成碎片

document.uniqueId.hashCode()%numShards

您可以从GitHub获取它:

另请参见,它可以按顺序(例如
[1,1,1,2,2,2,3,3,4,4]
)或循环(例如
[1,2,3,4,1,2,3,4,4]
)拆分索引

由于文档中不包含后者的用法,因此如下所示:

Usage: MultiPassIndexSplitter -out <outputDir> -num <numParts> [-seq] <inputIndex1> [<inputIndex2 ...]
    inputIndex  path to input index, multiple values are ok
    -out ouputDir   path to output directory to contain partial indexes
    -num numParts   number of parts to produce
    -seq    sequential docid-range split (default is round-robin)

用法:multipassindexplitter-out-num[-seq][是否可以使用字段及其值删除ByQuery?我想删除字段'leg'等于6的所有记录。@Medley:是的,这是可能的。例如:leg:6这将删除与此查询匹配的文档。您将其发送到/update UrlThank。现在可以了。两个索引都变小了,并且是分布式的使用“碎片”搜索效果很好。不客气。如果问题对您有帮助,请将其标记为已回答。这将有助于您在将来获得更多问题的回答