Collection is the more modern term and incorporates the fact that the collection may be sharded, with each shard on one or more cores, with each core being a replica of the other cores within that shard of that collection.

Instance is a general term, but is commonly used to refer to a running Solr server, each of which can service any number of cores. A sharded collection would typically require multiple instances of Solr, each with a shard of the collection.

Multiple collections can be supported on a single instance of Solr. They don't have to be sharded or replicated. But if they are, each Solr instance will have a copy or replica of the data (index) of one shard of each sharded collection - to the degree that each collection needs that many shards.

At the API level, you talk to a Solr instance, using a host and port, and giving the collection name. Some operations will refer only to the portion of a multi-shard collection on that Solr instance, but typically Solr will "distribute" the operation, whether it be an update or a query, to all of the shards of the named collection. In the case of update, the update will be distributed to all replicas as well, but in the case of query only one replica of each shard of the collection is needed.

Before SolrCloud we Solr had master and slave and the slaves were replicas of the master, but with SolrCloud there is no master and all the replicas of the shard are peers, although at any moment of time one of them will be considered the "leader" for coordination purposes, but not in the sense that it is a master of the other replicas in that shard. A SolrCloud replica is a replica of the data, in an abstract sense, for a single shard of a collection. A SolrCloud replica is more of an instance of the data/index.

An index exists at two levels: the portion of a collection on a single Solr core will have a Lucene index, but collectively the Lucene indexes for the shards of a collection can be referred to the index of the collection. Each replica is a copy or instance of a portion of the collection's index.

The term slice is sometimes used to refer collectively to all of the cores/replicas of a single shard, or sometimes to a single replica as it contains only a "slice" of the full collection data.

-- Jack Krupansky

-----Original Message----- From: Alexandre Rafalovitch
Sent: Thursday, January 03, 2013 4:42 AM
To: solr-user@lucene.apache.org
Subject: Terminology question: Core vs. Collection vs...

Hello,

I am trying to understand the core Solr terminology. I am looking for
correct rather than loose meaning as I am trying to teach an example that
starts from easy scenario and may scale to multi-core, multi-machine
situation.

Here are the terms that seem to be all overlapping and/or crossing over in
my mind a the moment.

1) Index
2) Core
3) Collection
4) Instance
5) Replica (Replica of _what_?)
6) Others?

I tried looking through documentation, but either there is a terminology
drift or I am having trouble understanding the distinctions.

If anybody has a clear picture in their mind, I would appreciate a
clarification.

Regards,
  Alex.

Personal blog: http://blog.outerthoughts.com/
LinkedIn: http://www.linkedin.com/in/alexandrerafalovitch
- Time is the quality of nature that keeps events from happening all at
once. Lately, it doesn't seem to be working. (Anonymous - via GTD book)

Reply via email to