ES学习笔记(二)

来源:互联网 发布:捕鱼游戏算法 编辑:程序博客网 时间:2024/06/01 10:30

创建索引

我们在之前已经建立过一个索引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/*'