web-dev-qa-db-fra.com

Solr Collection vs Cores

J'ai du mal à comprendre la différence entre collections et noyaux. Si je comprends bien, les cœurs sont plusieurs index. La collecte se compose de cœurs, donc ils partagent essentiellement la même logique de séparation, c'est-à-dire que les cœurs et les collections séparés ont des points d'extrémité distincts.

J'ai le scénario suivant. Je crée un backend pour le service cloud pour plusieurs boutiques en ligne. Chaque boutique dispose d'un ensemble de produits, auxquels les clients peuvent ajouter des avis. Je souhaite indexer les données statiques (informations sur le produit) séparément des informations dynamiques (avis) afin d'améliorer les performances.

Comment puis-je mieux me séparer dans Solr ???

41
NeatNerd

Depuis Documentation SolrCloud

Collection: un index de recherche unique.

Shard: section logique d'une seule collection (également appelée Slice). Parfois, les gens parlent de "Shard" dans un sens physique (une manifestation d'un éclat logique)

Réplique: manifestation physique d'un éclat logique, implémentée comme un seul index Lucene sur un SolrCore

Chef: une réplique de chaque éclat sera désignée comme chef pour coordonner l'indexation de cet éclat

SolrCore: encapsule un index physique unique. Un ou plusieurs fragments (ou tranches) logiques qui composent une collection.

Node: une seule instance de Solr. Une seule instance Solr peut avoir plusieurs SolrCores qui peuvent faire partie de n'importe quel nombre de collections.

Cluster: tous les nœuds que vous utilisez pour héberger SolrCores.

Donc, fondamentalement, une collection (groupe logique) a plusieurs cœurs (index physiques).

Vérifiez également le discussion

57
Jayendra

Core

Dans Solr, un core est composé d'un ensemble de fichiers de configuration, de fichiers d'index Lucene et du journal des transactions de Solr.

un noyau Solr est un index unique nommé, géré et configuré s'exécutant sur un serveur Solr; un serveur Solr peut héberger un ou plusieurs cœurs. Un noyau est généralement utilisé pour séparer des documents ayant des schémas différents

collection

Solr utilise également le terme collection, qui n'a de sens que dans le contexte d'un cluster Solr dans lequel un seul index est distribué sur plusieurs serveurs.

SolrCloud introduit le concept d'un collection, qui étend le concept d'un index unique nommé, géré et configuré à un index divisé en fragments et distribué sur plusieurs serveurs.

29
Nanhe Kumar

Selon ma compréhension:

En recherche distribuée,

Collection est un index logique réparti sur plusieurs serveurs. Core est la partie du serveur qui exécute une collection.

En recherche non distribuée,

Un serveur unique exécutant le Solr peut avoir plusieurs collections et chacune de ces collections est également un noyau. La collection et le noyau sont donc les mêmes si la recherche n'est pas distribuée.

Résumé

  1. La collecte par serveur est appelée un noyau.
  2. La collection est identique à un index.
  3. Un serveur Solr peut avoir plusieurs cœurs.
  4. La collecte est un index logique (Exemple d'utilisation pour plusieurs collections: supposons que deux équipes d'un même groupe ne soient pas assez grandes pour justifier un serveur Solr complet. Mais elles ne veulent pas non plus mélanger leurs données dans un seul index. Elles peuvent ensuite créer des collections/index séparés qui garderont leurs données séparées).
  5. Il vaut mieux utiliser un Solr Cloud séparé plutôt que de créer des collections si les données d'une collection sont assez grandes (pas sûr, commentaires s'il vous plaît?)
12
user2250246

De Solr Wiki :

Les collections sont constituées d'un ou plusieurs fragments. Les fragments ont une ou plusieurs répliques. Chaque réplique est un noyau. Une collection unique représente un index logique unique.

5
happs

instance unique

Sur une seule instance, Solr a quelque chose appelé SolrCore qui est essentiellement un index unique. Si vous voulez plusieurs index, vous créez plusieurs SolrCores.

Solr Cloud

Avec SolrCloud, un seul index peut s'étendre sur plusieurs instances Solr. Cela signifie qu'un seul index peut être composé de plusieurs SolrCore sur différentes machines. Nous appelons tous ces SolrCores qui constituent un index logique une collection.

Une collection est essentiellement un index unique qui couvre de nombreux SolrCore, à la fois pour la mise à l'échelle de l'index et la redondance. Si vous vouliez déplacer votre configuration 2 SolrCore Solr vers SolrCloud, vous auriez 2 collections, chacune composée de plusieurs SolrCores individuels.

4
Kaidul

Cela explique l'utilisation des cœurs et des collections.

Instance unique

Lorsque vous traitez une seule instance solr, vous interrogez cores.

L'interface utilisateur d'administration d'une seule instance Solr n'a pas de sélecteur de collection:

Single Solr Instance

Solr Cloud

Lorsque vous traitez avec Solr Cloud, vous interrogez collections. Les collections sont organisées en différents cœurs (répliques, fragments) sur différentes instances solr.

L'interface utilisateur d'administration d'une instance de Solr Cloud possède une collection et un sélecteur de base. Mais les cœurs sont techniquement des instances, ici:

Solr Cloud instance

3
Matthias M