我是solr的初学者,我不知道如何在solr中进行切分,所以我的问题是,为什么我们在创建集合时需要切分,以及它的好处是什么,.If,我没有创建切分发生的事情。
发布于 2022-10-22 20:58:32
分片允许我们拥有跨越多个Solr实例的索引--即多个服务器或多个正在运行的Solr实例(由于Lucene中的一些单线程限制以及一些内存使用模式,在特定条件下可能有用)。
如果我们没有分块,那么您将被限制在索引的总大小上,以满足在单个服务器上所能容纳的任何内容。分块意味着索引的一部分(例如,所有文档的一半)将位于一个服务器上,而另一半将位于另一个服务器上。当您查询Solr中的任何结果时,每个碎片都将收到该查询,然后将结果合并,然后返回给您。
当索引被共享时,功能有一些限制不能正常工作(并且在每个服务器上本地计算分数,这就是为什么您通常希望文档尽可能均匀地分布),但是在分片有用的情况下(而且通常是这样!),实际上没有任何更好的解决方案。
发布于 2022-10-22 18:38:34
切分帮助我们将数据分割成多个副本.
如果您有一个名为Employee的集合,其中包含一个碎片和两个副本,则为。假设有100条记录,
Employee_shard1_replica1将有100个记录
Employee_shard1_replica2将有100个记录
复制将整个记录复制到另一个核心中,这样您就可以获得贷款平衡以及错误数据。
现在,eg2.,如果您有相同的集合雇员,有两个碎片和两个副本。在这种情况下,数据将被分割成两个碎片。
Employee_shard1_replica1将有50份记录
Employee_shard1_replica2将有50份记录
Employee_shard2_replica2将有50份记录
Employee_shard2_replica2将有50份记录
注意: Shard 1副本在这里有相同的数据,而shard 2副本有相同的数据。
https://stackoverflow.com/questions/74166145
复制相似问题