ES学习笔记(二)

创建索引

我们在之前已经建立过一个索引fruits了。方法如下:

curl -XPUT localhost:9200/fruits

创建成功后命令行会返回如下:

{
    "acknowledged":true
}

那么究竟在执行完这个方法以后,ES创建了哪些东西呢?我们打开浏览器输入 localhost:9200/_plugin/head 来查看下,点击信息索引信息。如下图:

索引信息

这里写图片描述

对于这个索引值来说有2个比较重要的字段:settingsmappings,简单来说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"
             }
          }
      }
 }'

mapping

和之前相比在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/*'

版权声明:本文为u014756380原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。