Elasticsearch 零基础到入门新手教程(8)

为什么集群状态是yellow 了,而不是green 了, 这里我设置了3个主分片,2个副本分片, 我在上面设置了blogs每个主分片需要对应2分副本分片, 正常这样设置的情况下, 应该有3个主分片6个副本分片, 但是现在有3个主分片, 3个副本分片,现在缺失副本分片了,所以此时的集群的状态会为yellow。

在重新启动es-test01 ,集群可以将缺失的副本分片再次进行分配。

Elasticsearch 零基础到入门新手教程

8 文档元数据

一个文档不仅仅包含它的数据 ,也包含 元数据 —— 有关 文档的信息。 三个必须的元数据元素如下: 
_index 文档在哪存放 
_type 文档表示的对象类别 
_id 文档唯一标识 

_index 

_index 一个 索引 应该是因共同的特性被分组到一起的文档集合。 例如,你可能存储所有的产品在索引 products中,而存储所有销售的交易到索引 sales 中

_type 
数据可能在索引中只是松散的组合在一起,但是通常明确定义一些数据中的子分区是很有用的。 例如,所有的产品都放在一个索引中,但是你有许多不同的产品类别,比如 “electronics” 、”kitchen” 和 “lawncare”。 

这些文档共享一种相同的(或非常相似)的模式:他们有一个标题、描述、产品代码和价格。他们只是正好属于“产品”下的一些子类

Elasticsearch 公开了一个称为 types (类型)的特性,它允许您在索引中对数据进行逻辑分区。不同types 的文档可能有不同的字段,但最好能够非常相似。

_id 
ID 是一个字符串, 当它和 _index 以及 _type 组合就可以唯一确定 Elasticsearch 中的一个文档。 当你创建一个新的文档,要么提供自己的 _id ,要么让 Elasticsearch 帮你生成。

9 文档

1. 查询文档 
例如

1

 

[root@ES-100 ~]# curl -XGET :9200/megacorp/employee/1?pretty

 

  

Elasticsearch 零基础到入门新手教程

2. 返回文档一部分 
默认情况下, GET 请求 会返回整个文档,这个文档正如存储在 _source 字段中的一样。但是也许你只对其中的 title 字段感兴趣。单个字段能用 _source 参数请求得到,多个字段也能使用逗号分隔的列表来指定

1

 

[root@ES-100 ~]# curl -XGET 'http://10.0.0.100:9200/megacorp/employee/1?_source=title,text&pretty'

 

Elasticsearch 零基础到入门新手教程

3. 检查文档是否存在 

如果只想检查一个文档是否存在 –根本不想关心内容–那么用 HEAD 方法来代替 GET 方法。 HEAD 请求没有返回体,只返回一个 HTTP 请求报头:

1

2

 

[root@ES-100 ~]# curl -i -XHEAD :9200/website/blog/123

[root@ES-100 ~]# curl -i -XHEAD :9200/megacorp/employee/1

 

  

Elasticsearch 零基础到入门新手教程

如果文档存在, Elasticsearch 将返回一个 200 ok 的状态码 
若文档不存在, Elasticsearch 将返回一个 404 Not Found 的状态码:

4. 删除文档 
删除文档 的语法和我们所知道的规则相同,只是 使用 DELETE 方法:

1

 

[root@ES-100 ~]# curl -i -XDELETE 'http://localhost:9200/megacorp/employee/1?pretty'

 

与上面与elasticsearch 交互那一块 可以看看

10 索引的CRUD

1 . 删除一个索引编辑 
也是用curl 方式 
用以下的请求来 删除索引:

1

 

DELETE /my_index

 

也可以这样删除多个索引

1

2

 

DELETE /index_one,index_two

DELETE /index_*

 

甚至可以这样删除 全部 索引:

1

2

 

DELETE /_all

DELETE /*

 

对一些人来说,能够用单个命令来删除所有数据可能会导致可怕的后果。如果你想要避免意外的大量删除, 你可以在你的elasticsearch.yml 做如下配置:

1

 

action.destructive_requires_name: true

 

这个设置使删除只限于特定名称指向的数据, 而不允许通过指定 _all 或通配符来删除指定索引库。

2. 索引设置编辑

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0b85b6141a93dda06aa22fb80439f5cc.html