129 lines
3.1 KiB
Plaintext
129 lines
3.1 KiB
Plaintext
[[indices-create-index]]
|
|
== Create Index
|
|
|
|
The create index API allows to instantiate an index. Elasticsearch
|
|
provides support for multiple indices, including executing operations
|
|
across several indices.
|
|
|
|
[float]
|
|
[[create-index-settings]]
|
|
=== Index Settings
|
|
|
|
Each index created can have specific settings
|
|
associated with it.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
$ curl -XPUT 'http://localhost:9200/twitter/'
|
|
|
|
$ curl -XPUT 'http://localhost:9200/twitter/' -d '
|
|
index :
|
|
number_of_shards : 3
|
|
number_of_replicas : 2
|
|
'
|
|
--------------------------------------------------
|
|
|
|
The above second curl example shows how an index called `twitter` can be
|
|
created with specific settings for it using http://www.yaml.org[YAML].
|
|
In this case, creating an index with 3 shards, each with 2 replicas. The
|
|
index settings can also be defined with http://www.json.org[JSON]:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
$ curl -XPUT 'http://localhost:9200/twitter/' -d '{
|
|
"settings" : {
|
|
"index" : {
|
|
"number_of_shards" : 3,
|
|
"number_of_replicas" : 2
|
|
}
|
|
}
|
|
}'
|
|
--------------------------------------------------
|
|
|
|
or more simplified
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
$ curl -XPUT 'http://localhost:9200/twitter/' -d '{
|
|
"settings" : {
|
|
"number_of_shards" : 3,
|
|
"number_of_replicas" : 2
|
|
}
|
|
}'
|
|
--------------------------------------------------
|
|
|
|
_Note you do not have to explicitly specify `index` section inside
|
|
`settings` section.
|
|
|
|
For more information regarding all the different index level settings
|
|
that can be set when creating an index, please check the
|
|
<<index-modules,index modules>> section.
|
|
|
|
|
|
[float]
|
|
[[mappings]]
|
|
=== Mappings
|
|
|
|
The create index API allows to provide a set of one or more mappings:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XPOST localhost:9200/test -d '{
|
|
"settings" : {
|
|
"number_of_shards" : 1
|
|
},
|
|
"mappings" : {
|
|
"type1" : {
|
|
"_source" : { "enabled" : false },
|
|
"properties" : {
|
|
"field1" : { "type" : "string", "index" : "not_analyzed" }
|
|
}
|
|
}
|
|
}
|
|
}'
|
|
--------------------------------------------------
|
|
|
|
[float]
|
|
[[warmers]]
|
|
=== Warmers
|
|
|
|
The create index API allows also to provide a set of <<indices-warmers,warmers>>:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XPUT localhost:9200/test -d '{
|
|
"warmers" : {
|
|
"warmer_1" : {
|
|
"source" : {
|
|
"query" : {
|
|
...
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}'
|
|
--------------------------------------------------
|
|
|
|
[float]
|
|
[[create-index-aliases]]
|
|
=== Aliases
|
|
|
|
coming[1.1.0]
|
|
|
|
The create index API allows also to provide a set of <<indices-aliases,aliases>>:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XPUT localhost:9200/test -d '{
|
|
"aliases" : {
|
|
"alias_1" : {},
|
|
"alias_2" : {
|
|
"filter" : {
|
|
"term" : {"user" : "kimchy" }
|
|
},
|
|
"routing" : "kimchy"
|
|
}
|
|
}
|
|
}'
|
|
--------------------------------------------------
|