初识Elasticsearch

一丶使用前准备

1.windows版
下载地址

https://www.elastic.co/downloads/elasticsearch

2.chrome 插件 Sense

http://www.cnplugins.com/down/predown.aspx?fn=1412/www.cnplugins.com_lhjgkmllcaadmopgmanpapmpjgmfcfig_0_9_0_.crx&aid=2935

3.解压后,打开elasticsearch.bat ,初步安装完成。

二丶开始简单实用

1.查看数据健康状态

localhost:9200/_cat/health?v

这里写图片描述

当我们询问集群状态的时候,我们要么得到绿色、黄色或红色。绿色代表一切正常(集群功能齐全),黄色意味着所有的数据都是可用的,但是某些复制没有被分配 (集群功能齐全),红色则代表因为某些原因,某些数据不可用。注意,即使是集群状态是红色的,集群仍然是部分可用的(它仍然会利用可用的分片来响应搜索请 求),但是可能你需要尽快修复它,因为你有丢失的数据。


也是从上面的响应中,我们可以看到,一共有一个节点,由于里面没有数据,我们有0个分片。注意,由于我们使用默认的集群名字 (elasticsearch),并且由于Elasticsearch默认使用网络多播(multicast)发现其它节点,如果你在你的网络中启动了多 个节点,你就已经把她们加入到一个集群中了。在这种情形下,你可能在上面的响应中看到多个节点。

2.获得节集群中的节点列表

localhost:9200/_cat/nodes?v

这里写图片描述

3.列出所有的索引

localhost:9200/_cat/indices?v

这里写图片描述

这个结果意味着,在我们的集群中,我们没有任何索引。

4.让我们创建一个叫做“customer”的索引,然后再列出所有的索引

localhost:9200/customer?pretty               (注意这个是put请求)
localhost:9200/_cat/indices?v

这里写图片描述
这里写图片描述

第二个命令的结果告知我们,我们现在有一个叫做customer的索引,并且它有5个主分片和1份复制(都是默认值),其中包含0个文档。

你可能也注意到了这个customer索引有一个黄色健康标签。回顾我们之前的讨论,黄色意味着某些复制没有(或者还未)被分配。这个索引之所以这样,是 因为Elasticsearch默认为这个索引创建一份复制。由于现在我们只有一个节点在运行,那一份复制就分配不了了(为了高可用),直到当另外一个节 点加入到这个集群后,才能分配。一旦那份复制在第二个节点上被复制,这个节点的健康状态就会变成绿色。

现在让我们放一些东西到customer索引中。首先要知道的是,为了索引一个文档,我们必须告诉Elasticsearch这个文档要到这个索引的哪个类型(type)下。
让我们将一个简单的客户文档索引到customer索引、“external”类型中,这个文档的ID是1,操作如下:
这里写图片描述
这里写图片描述
把刚刚索引的文档取出来

localhost:9200/customer/external/1?pretty

这里写图片描述

除了一个叫做found的字段来指明我们找到了一个ID为1的文档,和另外一个字段——_source——返回我们前一步中索引的完整JSON文档之外,其它的都没有什么特别之处。

删除一个文档

localhost:9200/customer?pretty        delete

这里写图片描述

这表明我们成功地删除了这个索引,现在我们回到了集群中空无所有的状态。

修改数据

localhost:9200/customer/external/1?pretty   put
localhost:9200/customer/external/1?pretty   put

这里写图片描述
这里写图片描述

以上的命令将ID为1的文档的name字段的值从“John Doe”改成了“Jane Doe”。如果我们使用一个不同的ID,一个新的文档将会被索引,当前已经在索引中的文档不会受到影响。

localhost:9200/customer/external/2?pretty

以上的命令,将会索引一个ID为2的新文档。

以下的例子展示了怎样在没有指定ID的情况下来索引一个文档(注意是post):
这里写图片描述

下面的例子展示了怎样将我们ID为1的文档的name字段改成“ysk000”:
这里写图片描述
下面的例子展示了怎样将我们ID为1的文档的name字段改成“Jane Doe”的同时,给它加上age字段:
这里写图片描述
更新也可以通过使用简单的脚本来进行。这个例子使用一个脚本将age加5:
这里写图片描述

在上面的例子中,ctx._source指向当前要被更新的文档。

注意,在写作本文时,更新操作只能一次应用在一个文档上。将来,Elasticsearch将提供同时更新符合指定查询条件的多个文档的功能(类似于SQL的UPDATE-WHERE语句)。

删除文档

我们也能够一次删除符合某个查询条件的多个文档。以下的例子展示了如何删除名字中包含“ysk”的所有的客户:

localhost:9200/customer/external/_query?pretty

这里写图片描述

注意,以上的URI变成了/_query,以此来表明这是一个“查询删除”API,其中删除查询标准放在请求体中,但是我们仍然使用DELETE。现在先不要担心查询语法,我们将会在本教程后面的部分中涉及。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值