55

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

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

我怎样才能最好地在 Solr 中分离???

4

7 回答 7

65

来自SolrCloud 文档

集合:单个搜索索引。

Shard:单个集合的逻辑部分(也称为 Slice)。有时人们会从物理意义上讲“Shard”(逻辑分片的一种表现形式)

副本:逻辑 Shard 的物理表现形式,实现为 SolrCore 上的单个 Lucene 索引

Leader:每个 Shard 的一个 Replica 将被指定为 Leader 来协调对该 Shard 的索引

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

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

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

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

另外,检查讨论

于 2013-06-11T13:01:42.677 回答
41

在 Solr 中,acore由一组配置文件、Lucene 索引文件和 Solr 的事务日志组成。

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

收藏

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

SolrCloud 引入了 a 的概念collection,它将唯一命名、管理和配置的索引的概念扩展到一个被拆分为碎片并分布在多个服务器上的索引。

于 2014-04-24T11:56:24.080 回答
16

据我了解:

在分布式搜索中,

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

在非分布式搜索中,

运行 Solr 的单个服务器可以有多个集合,每个集合也是一个核心。所以如果搜索不是分布式的,那么集合和核心是相同的。

概括

  1. 每个服务器的集合称为核心。
  2. 集合与索引相同。
  3. 一台 Solr 服务器可以有多个内核。
  4. 集合是一个逻辑索引(多个集合的示例用法:假设同一组中的两个团队不足以证明他们自己的完整 Solr 服务器的合理性。但他们也不想将他们的数据混合在一个索引中。然后他们可以创建单独的集合/索引,将它们的数据分开)。
  5. 如果集合的数据足够大,最好使用单独的 Solr Cloud 而不是创建集合(不确定,请评论?)
于 2014-05-02T19:33:23.793 回答
11

单实例

在单个实例上,Solr 有一个叫做 SolrCore 的东西,它本质上是一个单一的索引。如果您想要多个索引,则创建多个 SolrCore。

索尔云

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

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

于 2017-01-29T11:07:39.620 回答
6

来自Solr 维基

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

于 2015-07-23T00:51:44.600 回答
5

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

单实例

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

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

单个 Solr 实例

索尔云

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

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

Solr 云实例

于 2017-11-12T11:43:30.317 回答
0

来自 Solr 文档:

用法:solr create [-c name] [-d confdir] [-n configName] [-shards #] [-replicationFactor #] [-p port] [-V]

根据 Solr 是以独立(核心)还是 SolrCloud 模式(集合)运行来创建核心或集合。换句话说,这个动作检测 Solr 运行的模式,然后采取
适当的动作(create_core 或 create_collection)。

于 2019-09-11T21:25:49.340 回答