创建索引
我们在之前已经建立过一个索引fruits了。方法如下:
curl -XPUT localhost:9200/fruits
创建成功后命令行会返回如下:
{
"acknowledged":true
}
那么究竟在执行完这个方法以后,ES创建了哪些东西呢?我们打开浏览器输入 localhost:9200/_plugin/head 来查看下,点击信息索引信息。如下图:
对于这个索引值来说有2个比较重要的字段:settings,mappings,简单来说setting就是记录索引基本信息的字段。
creation_date : 建立时间
number_of_shards : 分片数,默认为5
number_of_replicas : 副本数,默认为1
uuid: 索引的身份证
mapping字段是用来存储type和type中相关字段信息的映射表:
我们还使用之前的例子,在fruits索引中添加一个apple类型,并且包含一个名为price的字段,这个字段的类型为string。
curl -XPUT localhost:9200/fruits/_mapping/apple -d '{
"apple":{
"properties":{
"price":{
"type":"string"
}
}
}
}'
和之前相比在mappings中多出了
"apple":{
"properties":{
"price":{"type":string}
}
}
可以看出记录的正好是我们刚刚所创建的信息。
添加引用名称
aliases字段就是外号、昵称,大家可以参考一下 http://blog.csdn.net/changong28/article/details/38424143 ,创建,删除,更改写的很全面。我这里这是按自己习惯记下笔记。
curl -XPOST localhost:9200/_aliases -d '{
"actions":[{
"add":{"alias":"shuiguo","index":"fruits"}
}]
}'
使用如上命令可以为fruits添加一个昵称,或者说是引用也行,名称为shuiguo。
可以看到 aliases 字段中多出了我们新建的引用。
至此我们就可以用shuiguo和fruits用来检索啦
curl -XGET 'localhost:9200/fruits/_search?pretty'
curl -XGET 'localhost:9200/shuiguo/_search?pretty'
删除引用名称
curl -XPOST localhost:9200/_aliases -d '{
"actions":[{
"remove":{"alias":"shuiguo","index":"fruits"}
}]
}'
修改引用名称
在ES中修改一个引用名称,就是将添加和删除组合到一起。
curl -XPOST localhost:9200/_aliases -d '{
"actions":[{
"remove":{"alias":"shuiguo","index":"fruits"},
"remove":{"alias":"frutas","index":"fruits"}
}]
}'
查询所有索引的别名
curl 'localhost:9200/_alias?pretty'
查询某个别名的全部索引
curl -XGET 'localhost:9200/_alias/shuiguo?pretty'
查询某个索引的全部别名
curl -XGET 'localhost:9200/fruits/_alias/*'