|
5 | 5 | [glossary]
|
6 | 6 | [[glossary-analysis]] analysis ::
|
7 | 7 |
|
8 |
| - Analysis is the process of converting <<glossary-text,full text>> to |
9 |
| - <<glossary-term,terms>>. Depending on which analyzer is used, these phrases: |
10 |
| - `FOO BAR`, `Foo-Bar`, `foo,bar` will probably all result in the |
11 |
| - terms `foo` and `bar`. These terms are what is actually stored in |
12 |
| - the index. |
13 |
| - + |
14 |
| - A full text query (not a <<glossary-term,term>> query) for `FoO:bAR` will |
15 |
| - also be analyzed to the terms `foo`,`bar` and will thus match the |
16 |
| - terms stored in the index. |
17 |
| - + |
18 |
| - It is this process of analysis (both at index time and at search time) |
19 |
| - that allows Elasticsearch to perform full text queries. |
20 |
| - + |
21 |
| - Also see <<glossary-text,text>> and <<glossary-term,term>>. |
| 8 | +Analysis is the process of converting <<glossary-text,full text>> to |
| 9 | +<<glossary-term,terms>>. Depending on which analyzer is used, these phrases: |
| 10 | +`FOO BAR`, `Foo-Bar`, `foo,bar` will probably all result in the |
| 11 | +terms `foo` and `bar`. These terms are what is actually stored in |
| 12 | +the index. |
| 13 | ++ |
| 14 | +A full text query (not a <<glossary-term,term>> query) for `FoO:bAR` will |
| 15 | +also be analyzed to the terms `foo`,`bar` and will thus match the |
| 16 | +terms stored in the index. |
| 17 | ++ |
| 18 | +It is this process of analysis (both at index time and at search time) |
| 19 | +that allows Elasticsearch to perform full text queries. |
| 20 | ++ |
| 21 | +Also see <<glossary-text,text>> and <<glossary-term,term>>. |
22 | 22 |
|
23 | 23 | [[glossary-cluster]] cluster ::
|
24 | 24 |
|
25 |
| - A cluster consists of one or more <<glossary-node,nodes>> which share the |
26 |
| - same cluster name. Each cluster has a single master node which is |
27 |
| - chosen automatically by the cluster and which can be replaced if the |
28 |
| - current master node fails. |
| 25 | +A cluster consists of one or more <<glossary-node,nodes>> which share the |
| 26 | +same cluster name. Each cluster has a single master node which is |
| 27 | +chosen automatically by the cluster and which can be replaced if the |
| 28 | +current master node fails. |
29 | 29 |
|
30 | 30 | [[glossary-ccs]] {ccs} (CCS)::
|
31 | 31 |
|
32 |
| - The {ccs} feature enables any node to act as a federated client across |
33 |
| - multiple clusters. See <<modules-cross-cluster-search>>. |
| 32 | +The {ccs} feature enables any node to act as a federated client across |
| 33 | +multiple clusters. See <<modules-cross-cluster-search>>. |
34 | 34 |
|
35 | 35 | [[glossary-document]] document ::
|
36 | 36 |
|
37 |
| - A document is a JSON document which is stored in Elasticsearch. It is |
38 |
| - like a row in a table in a relational database. Each document is |
39 |
| - stored in an <<glossary-index,index>> and has a <<glossary-type,type>> and an |
40 |
| - <<glossary-id,id>>. |
41 |
| - + |
42 |
| - A document is a JSON object (also known in other languages as a hash / |
43 |
| - hashmap / associative array) which contains zero or more |
44 |
| - <<glossary-field,fields>>, or key-value pairs. |
45 |
| - + |
46 |
| - The original JSON document that is indexed will be stored in the |
47 |
| - <<glossary-source_field,`_source` field>>, which is returned by default when |
48 |
| - getting or searching for a document. |
| 37 | +A document is a JSON document which is stored in Elasticsearch. It is |
| 38 | +like a row in a table in a relational database. Each document is |
| 39 | +stored in an <<glossary-index,index>> and has a <<glossary-type,type>> and an |
| 40 | +<<glossary-id,id>>. |
| 41 | ++ |
| 42 | +A document is a JSON object (also known in other languages as a hash / |
| 43 | +hashmap / associative array) which contains zero or more |
| 44 | +<<glossary-field,fields>>, or key-value pairs. |
| 45 | ++ |
| 46 | +The original JSON document that is indexed will be stored in the |
| 47 | +<<glossary-source_field,`_source` field>>, which is returned by default when |
| 48 | +getting or searching for a document. |
49 | 49 |
|
50 | 50 | [[glossary-id]] id ::
|
51 | 51 |
|
52 |
| - The ID of a <<glossary-document,document>> identifies a document. The |
53 |
| - `index/id` of a document must be unique. If no ID is provided, |
54 |
| - then it will be auto-generated. (also see <<glossary-routing,routing>>) |
| 52 | +The ID of a <<glossary-document,document>> identifies a document. The |
| 53 | +`index/id` of a document must be unique. If no ID is provided, |
| 54 | +then it will be auto-generated. (also see <<glossary-routing,routing>>) |
55 | 55 |
|
56 | 56 | [[glossary-field]] field ::
|
57 | 57 |
|
58 |
| - A <<glossary-document,document>> contains a list of fields, or key-value |
59 |
| - pairs. The value can be a simple (scalar) value (eg a string, integer, |
60 |
| - date), or a nested structure like an array or an object. A field is |
61 |
| - similar to a column in a table in a relational database. |
62 |
| - + |
63 |
| - The <<glossary-mapping,mapping>> for each field has a field _type_ (not to |
64 |
| - be confused with document <<glossary-type,type>>) which indicates the type |
65 |
| - of data that can be stored in that field, eg `integer`, `string`, |
66 |
| - `object`. The mapping also allows you to define (amongst other things) |
67 |
| - how the value for a field should be analyzed. |
| 58 | +A <<glossary-document,document>> contains a list of fields, or key-value |
| 59 | +pairs. The value can be a simple (scalar) value (eg a string, integer, |
| 60 | +date), or a nested structure like an array or an object. A field is |
| 61 | +similar to a column in a table in a relational database. |
| 62 | ++ |
| 63 | +The <<glossary-mapping,mapping>> for each field has a field _type_ (not to |
| 64 | +be confused with document <<glossary-type,type>>) which indicates the type |
| 65 | +of data that can be stored in that field, eg `integer`, `string`, |
| 66 | +`object`. The mapping also allows you to define (amongst other things) |
| 67 | +how the value for a field should be analyzed. |
68 | 68 |
|
69 | 69 | [[glossary-filter]] filter ::
|
70 | 70 |
|
71 |
| - A filter is a non-scoring <<glossary-query,query>>, meaning that it does not score documents. |
72 |
| - It is only concerned about answering the question - "Does this document match?". |
73 |
| - The answer is always a simple, binary yes or no. This kind of query is said to be made |
74 |
| - in a <<query-filter-context,filter context>>, |
75 |
| - hence it is called a filter. Filters are simple checks for set inclusion or exclusion. |
76 |
| - In most cases, the goal of filtering is to reduce the number of documents that have to be examined. |
| 71 | +A filter is a non-scoring <<glossary-query,query>>, meaning that it does not score documents. |
| 72 | +It is only concerned about answering the question - "Does this document match?". |
| 73 | +The answer is always a simple, binary yes or no. This kind of query is said to be made |
| 74 | +in a <<query-filter-context,filter context>>, |
| 75 | +hence it is called a filter. Filters are simple checks for set inclusion or exclusion. |
| 76 | +In most cases, the goal of filtering is to reduce the number of documents that have to be examined. |
77 | 77 |
|
78 | 78 | [[glossary-index]] index ::
|
79 | 79 |
|
80 |
| - An index is like a _table_ in a relational database. It has a |
81 |
| - <<glossary-mapping,mapping>> which contains a <<glossary-type,type>>, |
82 |
| - which contains the <<glossary-field,fields>> in the index. |
83 |
| - + |
84 |
| - An index is a logical namespace which maps to one or more |
85 |
| - <<glossary-primary-shard,primary shards>> and can have zero or more |
86 |
| - <<glossary-replica-shard,replica shards>>. |
| 80 | +An index is like a _table_ in a relational database. It has a |
| 81 | +<<glossary-mapping,mapping>> which contains a <<glossary-type,type>>, |
| 82 | +which contains the <<glossary-field,fields>> in the index. |
| 83 | ++ |
| 84 | +An index is a logical namespace which maps to one or more |
| 85 | +<<glossary-primary-shard,primary shards>> and can have zero or more |
| 86 | +<<glossary-replica-shard,replica shards>>. |
87 | 87 |
|
88 | 88 | [[glossary-mapping]] mapping ::
|
89 | 89 |
|
90 |
| - A mapping is like a _schema definition_ in a relational database. Each |
91 |
| - <<glossary-index,index>> has a mapping, which defines a <<glossary-type,type>>, |
92 |
| - plus a number of index-wide settings. |
93 |
| - + |
94 |
| - A mapping can either be defined explicitly, or it will be generated |
95 |
| - automatically when a document is indexed. |
| 90 | +A mapping is like a _schema definition_ in a relational database. Each |
| 91 | +<<glossary-index,index>> has a mapping, which defines a <<glossary-type,type>>, |
| 92 | +plus a number of index-wide settings. |
| 93 | ++ |
| 94 | +A mapping can either be defined explicitly, or it will be generated |
| 95 | +automatically when a document is indexed. |
96 | 96 |
|
97 | 97 | [[glossary-node]] node ::
|
98 | 98 |
|
99 |
| - A node is a running instance of Elasticsearch which belongs to a |
100 |
| - <<glossary-cluster,cluster>>. Multiple nodes can be started on a single |
101 |
| - server for testing purposes, but usually you should have one node per |
102 |
| - server. |
103 |
| - + |
104 |
| - At startup, a node will use unicast to discover an existing cluster with |
105 |
| - the same cluster name and will try to join that cluster. |
106 |
| - |
107 |
| - [[glossary-primary-shard]] primary shard :: |
108 |
| - |
109 |
| - Each document is stored in a single primary <<glossary-shard,shard>>. When |
110 |
| - you index a document, it is indexed first on the primary shard, then |
111 |
| - on all <<glossary-replica-shard,replicas>> of the primary shard. |
112 |
| - + |
113 |
| - By default, an <<glossary-index,index>> has 5 primary shards. You can |
114 |
| - specify fewer or more primary shards to scale the number of |
115 |
| - <<glossary-document,documents>> that your index can handle. |
116 |
| - + |
117 |
| - You cannot change the number of primary shards in an index, once the |
118 |
| - index is created. |
119 |
| - + |
120 |
| - See also <<glossary-routing,routing>> |
| 99 | +A node is a running instance of Elasticsearch which belongs to a |
| 100 | +<<glossary-cluster,cluster>>. Multiple nodes can be started on a single |
| 101 | +server for testing purposes, but usually you should have one node per |
| 102 | +server. |
| 103 | ++ |
| 104 | +At startup, a node will use unicast to discover an existing cluster with |
| 105 | +the same cluster name and will try to join that cluster. |
| 106 | + |
| 107 | +[[glossary-primary-shard]] primary shard :: |
| 108 | + |
| 109 | +Each document is stored in a single primary <<glossary-shard,shard>>. When |
| 110 | +you index a document, it is indexed first on the primary shard, then |
| 111 | +on all <<glossary-replica-shard,replicas>> of the primary shard. |
| 112 | ++ |
| 113 | +By default, an <<glossary-index,index>> has 5 primary shards. You can |
| 114 | +specify fewer or more primary shards to scale the number of |
| 115 | +<<glossary-document,documents>> that your index can handle. |
| 116 | ++ |
| 117 | +You cannot change the number of primary shards in an index, once the |
| 118 | +index is created. |
| 119 | ++ |
| 120 | +See also <<glossary-routing,routing>> |
121 | 121 |
|
122 | 122 | [[glossary-query]] query ::
|
123 | 123 |
|
124 |
| - A query is the basic component of a search. A search can be defined by one or more queries |
125 |
| - which can be mixed and matched in endless combinations. While <<glossary-filter,filters>> are |
126 |
| - queries that only determine if a document matches, those queries that also calculate how well |
127 |
| - the document matches are known as "scoring queries". Those queries assign it a score, which is |
128 |
| - later used to sort matched documents. Scoring queries take more resources than <<glossary-filter,non scoring queries>> |
129 |
| - and their query results are not cacheable. As a general rule, use query clauses for full-text |
130 |
| - search or for any condition that requires scoring, and use filters for everything else. |
131 |
| - |
132 |
| - [[glossary-replica-shard]] replica shard :: |
133 |
| - |
134 |
| - Each <<glossary-primary-shard,primary shard>> can have zero or more |
135 |
| - replicas. A replica is a copy of the primary shard, and has two |
136 |
| - purposes: |
137 |
| - + |
138 |
| - 1. increase failover: a replica shard can be promoted to a primary |
139 |
| - shard if the primary fails |
140 |
| - 2. increase performance: get and search requests can be handled by |
141 |
| - primary or replica shards. |
142 |
| - + |
143 |
| - By default, each primary shard has one replica, but the number of |
144 |
| - replicas can be changed dynamically on an existing index. A replica |
145 |
| - shard will never be started on the same node as its primary shard. |
| 124 | +A query is the basic component of a search. A search can be defined by one or more queries |
| 125 | +which can be mixed and matched in endless combinations. While <<glossary-filter,filters>> are |
| 126 | +queries that only determine if a document matches, those queries that also calculate how well |
| 127 | +the document matches are known as "scoring queries". Those queries assign it a score, which is |
| 128 | +later used to sort matched documents. Scoring queries take more resources than <<glossary-filter,non scoring queries>> |
| 129 | +and their query results are not cacheable. As a general rule, use query clauses for full-text |
| 130 | +search or for any condition that requires scoring, and use filters for everything else. |
| 131 | + |
| 132 | +[[glossary-replica-shard]] replica shard :: |
| 133 | ++ |
| 134 | +-- |
| 135 | +Each <<glossary-primary-shard,primary shard>> can have zero or more |
| 136 | +replicas. A replica is a copy of the primary shard, and has two |
| 137 | +purposes: |
| 138 | + |
| 139 | +. increase failover: a replica shard can be promoted to a primary |
| 140 | +shard if the primary fails |
| 141 | +. increase performance: get and search requests can be handled by |
| 142 | +primary or replica shards. |
| 143 | + |
| 144 | +By default, each primary shard has one replica, but the number of |
| 145 | +replicas can be changed dynamically on an existing index. A replica |
| 146 | +shard will never be started on the same node as its primary shard. |
| 147 | +-- |
146 | 148 |
|
147 | 149 | [[glossary-routing]] routing ::
|
148 | 150 |
|
149 |
| - When you index a document, it is stored on a single |
150 |
| - <<glossary-primary-shard,primary shard>>. That shard is chosen by hashing |
151 |
| - the `routing` value. By default, the `routing` value is derived from |
152 |
| - the ID of the document or, if the document has a specified parent |
153 |
| - document, from the ID of the parent document (to ensure that child and |
154 |
| - parent documents are stored on the same shard). |
155 |
| - + |
156 |
| - This value can be overridden by specifying a `routing` value at index |
157 |
| - time, or a <<mapping-routing-field,routing |
158 |
| - field>> in the <<glossary-mapping,mapping>>. |
| 151 | +When you index a document, it is stored on a single |
| 152 | +<<glossary-primary-shard,primary shard>>. That shard is chosen by hashing |
| 153 | +the `routing` value. By default, the `routing` value is derived from |
| 154 | +the ID of the document or, if the document has a specified parent |
| 155 | +document, from the ID of the parent document (to ensure that child and |
| 156 | +parent documents are stored on the same shard). |
| 157 | ++ |
| 158 | +This value can be overridden by specifying a `routing` value at index |
| 159 | +time, or a <<mapping-routing-field,routing |
| 160 | +field>> in the <<glossary-mapping,mapping>>. |
159 | 161 |
|
160 | 162 | [[glossary-shard]] shard ::
|
161 | 163 |
|
162 |
| - A shard is a single Lucene instance. It is a low-level “worker” unit |
163 |
| - which is managed automatically by Elasticsearch. An index is a logical |
164 |
| - namespace which points to <<glossary-primary-shard,primary>> and |
165 |
| - <<glossary-replica-shard,replica>> shards. |
166 |
| - + |
167 |
| - Other than defining the number of primary and replica shards that an |
168 |
| - index should have, you never need to refer to shards directly. |
169 |
| - Instead, your code should deal only with an index. |
170 |
| - + |
171 |
| - Elasticsearch distributes shards amongst all <<glossary-node,nodes>> in the |
172 |
| - <<glossary-cluster,cluster>>, and can move shards automatically from one |
173 |
| - node to another in the case of node failure, or the addition of new |
174 |
| - nodes. |
175 |
| - |
176 |
| - [[glossary-source_field]] source field :: |
177 |
| - |
178 |
| - By default, the JSON document that you index will be stored in the |
179 |
| - `_source` field and will be returned by all get and search requests. |
180 |
| - This allows you access to the original object directly from search |
181 |
| - results, rather than requiring a second step to retrieve the object |
182 |
| - from an ID. |
| 164 | +A shard is a single Lucene instance. It is a low-level “worker” unit |
| 165 | +which is managed automatically by Elasticsearch. An index is a logical |
| 166 | +namespace which points to <<glossary-primary-shard,primary>> and |
| 167 | +<<glossary-replica-shard,replica>> shards. |
| 168 | ++ |
| 169 | +Other than defining the number of primary and replica shards that an |
| 170 | +index should have, you never need to refer to shards directly. |
| 171 | +Instead, your code should deal only with an index. |
| 172 | ++ |
| 173 | +Elasticsearch distributes shards amongst all <<glossary-node,nodes>> in the |
| 174 | +<<glossary-cluster,cluster>>, and can move shards automatically from one |
| 175 | +node to another in the case of node failure, or the addition of new |
| 176 | +nodes. |
| 177 | + |
| 178 | +[[glossary-source_field]] source field :: |
| 179 | + |
| 180 | +By default, the JSON document that you index will be stored in the |
| 181 | +`_source` field and will be returned by all get and search requests. |
| 182 | +This allows you access to the original object directly from search |
| 183 | +results, rather than requiring a second step to retrieve the object |
| 184 | +from an ID. |
183 | 185 |
|
184 | 186 | [[glossary-term]] term ::
|
185 | 187 |
|
186 |
| - A term is an exact value that is indexed in Elasticsearch. The terms |
187 |
| - `foo`, `Foo`, `FOO` are NOT equivalent. Terms (i.e. exact values) can |
188 |
| - be searched for using _term_ queries. |
189 |
| - + |
190 |
| - See also <<glossary-text,text>> and <<glossary-analysis,analysis>>. |
| 188 | +A term is an exact value that is indexed in Elasticsearch. The terms |
| 189 | +`foo`, `Foo`, `FOO` are NOT equivalent. Terms (i.e. exact values) can |
| 190 | +be searched for using _term_ queries. |
| 191 | ++ |
| 192 | +See also <<glossary-text,text>> and <<glossary-analysis,analysis>>. |
191 | 193 |
|
192 | 194 | [[glossary-text]] text ::
|
193 | 195 |
|
194 |
| - Text (or full text) is ordinary unstructured text, such as this |
195 |
| - paragraph. By default, text will be <<glossary-analysis,analyzed>> into |
196 |
| - <<glossary-term,terms>>, which is what is actually stored in the index. |
197 |
| - + |
198 |
| - Text <<glossary-field,fields>> need to be analyzed at index time in order to |
199 |
| - be searchable as full text, and keywords in full text queries must be |
200 |
| - analyzed at search time to produce (and search for) the same terms |
201 |
| - that were generated at index time. |
202 |
| - + |
203 |
| - See also <<glossary-term,term>> and <<glossary-analysis,analysis>>. |
| 196 | +Text (or full text) is ordinary unstructured text, such as this |
| 197 | +paragraph. By default, text will be <<glossary-analysis,analyzed>> into |
| 198 | +<<glossary-term,terms>>, which is what is actually stored in the index. |
| 199 | ++ |
| 200 | +Text <<glossary-field,fields>> need to be analyzed at index time in order to |
| 201 | +be searchable as full text, and keywords in full text queries must be |
| 202 | +analyzed at search time to produce (and search for) the same terms |
| 203 | +that were generated at index time. |
| 204 | ++ |
| 205 | +See also <<glossary-term,term>> and <<glossary-analysis,analysis>>. |
204 | 206 |
|
205 | 207 | [[glossary-type]] type ::
|
206 | 208 |
|
207 |
| - A type used to represent the _type_ of document, e.g. an `email`, a `user`, or a `tweet`. |
208 |
| - Types are deprecated and are in the process of being removed. See <<removal-of-types>>. |
209 |
| - |
| 209 | +A type used to represent the _type_ of document, e.g. an `email`, a `user`, or a `tweet`. |
| 210 | +Types are deprecated and are in the process of being removed. See <<removal-of-types>>. |
0 commit comments