Solr Collection vs Cores

时间:2013-06-11 12:53:52

标签: solr lucene

我很难理解集合和核心之间的区别。如果我理解正确,核心是多个索引。集合由核心组成,因此它们在分离时基本上共享相同的逻辑,即单独的核心和集合具有单独的端点。

我有以下情况。我为几家在线商店创建了云端服务的后端。每个商店都有一套产品,客户可以在其中添加评论。我想将静态数据(产品信息)与动态信息(评论)分开编制索引,以便提高性能。

我怎样才能最好地分开Solr ???

7 个答案:

答案 0 :(得分:54)

来自SolrCloud Documentation

  

收集:单个搜索索引。

     

Shard:单个集合的逻辑部分(也称为   切片)。有时人们会在物理意义上谈论“碎片”   (逻辑分片的表现)

     

副本:已实施的逻辑分片的物理表现形式   作为SolrCore上的单个Lucene索引

     

领袖:每个碎片的一个副本将被指定为领导者   协调该碎片的索引

     

SolrCore:封装单个物理索引。一个或多个弥补   构成集合的逻辑分片(或片)。

     

节点:Solr的单个实例。单个Solr实例可以有   多个SolrCores,可以是任意数量的集合的一部分。

     

群集:您用于托管SolrCores的所有节点。

所以基本上集合(逻辑组)有多个核心(物理索引)。

另外,请检查discussion

答案 1 :(得分:27)

<强>核心

在Solr中,core由一组配置文件,Lucene索引文件和Solr组成。 交易日志。

Solr核心是一个 在Solr服务器中运行的唯一命名,托管和配置的索引;一个Solr服务器 可以托管一个或多个核心。核心通常用于分隔具有的核心 不同的架构

<强>集合

Solr也使用术语collection,它只在上下文中有意义 一个Solr集群,其中单个索引分布在多个服务器上。

SolrCloud引入了collection的概念,它扩展了唯一的概念 命名,托管和配置索引到一个分割为分片和分布的索引 跨多个服务器。

答案 2 :(得分:11)

根据我的理解:

在分布式搜索中

集合是跨多个服务器的逻辑索引。 核心是运行一个集合的服务器的一部分。

在非分布式搜索中

运行Solr的单个服务器可以有多个集合,每个集合也是一个核心。因此,如果搜索未分发,则集合和核心是相同的。

<强>摘要

  1. 每台服务器的集合称为核心。
  2. 集合与索引相同。
  3. One Solr服务器可以有多个核心。
  4. 集合是一个逻辑索引(多个集合的示例用法:假设同一组中的两个团队不够大,无法证明他们自己的完整Solr服务器。但他们也不希望在单个索引中混合他们的数据。然后,他们可以创建单独的集合/索引,以保持其数据分开。
  5. 如果集合的数据足够大(不确定,请注意吗?)
  6. ,最好使用单独的Solr Cloud而不是创建集合。

答案 3 :(得分:5)

来自Solr Wiki

  

集合由一个或多个分片组成。碎片有一个或   更多的复制品。每个副本都是核心。单个集合代表   一个逻辑索引。

答案 4 :(得分:4)

单一实例

在单个实例上,Solr有一个称为SolrCore的东西,它本质上是一个索引。如果需要多个索引,可以创建多个SolrCores。

Solr Cloud

使用SolrCloud,单个索引可以跨越多个Solr实例。这意味着单个索引可以由不同机器上的多个SolrCore组成。我们将构成一个逻辑索引的所有SolrCore称为集合。

集合本质上是一个跨越许多SolrCore的索引,既可用于索引扩展,也可用于冗余。如果您想将2个SolrCore Solr设置移动到SolrCloud,您将拥有2个集合,每个集合由多个单独的SolrCore组成。

答案 5 :(得分:2)

这解释了核心和集合的使用。

单一实例

在处理单个solr实例时,您查询cores

单个Solr实例的管理UI没有集合选择器:

Single Solr Instance

Solr Cloud

在处理Solr Cloud时,您向collections查询。 这些集合在不同的solr实例上组织在不同的核心(副本,分片)中。

Solr Cloud实例的管理UI具有集合和核心选择器。但核心在技术上是实例,在这里:

Solr Cloud instance

答案 6 :(得分:0)

从Solr文档:

  

用法:solr创建[-c名称] [-d confdir] [-n configName] [-shards#]   [-replicationFactor#] [-p端口] [-V]

     

根据Solr是否在其中运行来创建核心或集合   独立(核心)或SolrCloud模式(集合)。换一种说法,   此操作将检测Solr在哪种模式下运行,然后采用
  适当的操作(create_core或create_collection)。