They are not mentioned in ES glossary.
What is their relationship to other ES entities (shards / nodes / indexes) ?
Index is a collection of documents and indices is a document id. In Elastic Search,to search one document, we will use index id or indices id & name .
Data in Elasticsearch is organized into indices. Each index is made up of one or more shards. Each shard is an instance of a Lucene index, which you can think of as a self-contained search engine that indexes and handles queries for a subset of the data in an Elasticsearch cluster.
Kibana requires an index pattern to access the Elasticsearch data that you want to explore. An index pattern selects the data to use and allows you to define properties of the fields. An index pattern can point to one or more indices, data stream, or index aliases.
Why do you need one per user? What sort of data is it? Elasticsearch does not impose any strict limit to the number of indices or shards, but that does not mean that there are not practical limits. Having an index per user adds a lot of flexibility and isolation, but unfortunately does not scale well at all.
Indices is the plural of index. If you have more than one index you call them indices. http://www.thefreedictionary.com/index
Indices are equivalent to databases in Relational DBMS. Just like Relational Database has schema, ES index has mapping.
Shards => index is broken into shards (in order to distribute them and scale)
Replicas => copies of the shards (provide reliability if a node is lost)
I hope the following diagram(taken from Rafal Kuc's slides) demonstrates the relationship between ES Cluster, Index, Node and Shards.
Also, there's a nice stackoverflow post Shards and replicas in Elasticsearch by @javanna
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With