当前位置:   article > 正文

ES 索引的操作 创建,删除,查询_es命令根据别名删除索引库

es命令根据别名删除索引库

本文是以ES6.2.4 为例子

1. 创建索引;

默认的分片是5

Default for number_of_shards is 5

默认的副本是1
Default for number_of_replicas is 1 (ie one replica for each primary shard)

  1. {
  2. "settings" : {
  3. "index" : {
  4. "number_of_shards" : 3,
  5. "number_of_replicas" : 2
  6. }
  7. }
  8. }

acknowledged 表示索引是否在群集中成功创建,而shards_acknowledged表示索引中的每个碎片在超时之前是否启动了所需数量的碎片副本。请注意,acknowledged 或shards_acknowledged仍然可能为false,但索引创建成功。这些值只是指示操作是否在超时之前完成。如果确认为false,那么在使用新创建的索引更新集群状态之前,我们就超时了,但它可能很快就会被创建。如果hards_acknowledged为false,则在启动所需数量的shards之前(默认情况下,仅初始值),即使集群状态已成功更新以反映新创建的索引(即Acknowed=true),我们也会超时。

2. 删除索引

DELETE /twitter

上面的例子删除了一个名为twitter的索引。需要指定索引或通配符表达式。别名不能用于删除索引。通配符表达式解析为仅匹配具体索引。

delete index API还可以应用于多个索引,可以使用逗号分隔的列表,也可以应用于所有索引(小心!)使用_all或*作为索引。

要禁用允许通过通配符或_all删除索引,请设置action.destructive_requires_name 设置为true。还可以通过群集更新设置api更改此设置。

 3. 查询索引

3. 验证索引是否存在

200 说明存在  404 说明不存在。  注意: 

此请求不区分索引和别名,即如果存在具有该名称的别名,也会返回状态代码200

4. 打开和关闭索引    /{index}/_close and /{index}/_open

 

 5. 收缩索引

收缩索引API允许您将现有索引收缩为具有较少主碎片的新索引。目标索引中请求的主碎片数必须是源索引中碎片数的一个因子。例如,一个包含8个主碎片的索引可以缩小为4、2或1个主碎片,或者一个包含15个主碎片的索引可以缩小为5、3或1个。如果索引中的碎片数是质数,则只能将其收缩为单个主碎片。收缩之前,索引中每个碎片的(主或副本)副本必须存在于同一节点上。

收缩工作如下:

首先,它创建一个新的目标索引,其定义与源索引相同,但主碎片的数量较少。

然后将源索引中的段硬链接到目标索引中。(如果文件系统不支持硬链接,则会将所有段复制到新索引中,这是一个非常耗时的过程。)

最后,它恢复目标索引,就像它是一个刚刚重新打开的封闭索引一样。

准备收缩指数

为了缩小索引,必须将索引标记为只读,并且索引中每个碎片的(主或副本)副本必须重新定位到同一节点,并保持健康状态为绿色。

这两个条件可通过以下要求实现:

首先,它创建一个新的目标索引,其定义与源索引相同,但主碎片的数量较少。

然后将源索引中的段硬链接到目标索引中。(如果文件系统不支持硬链接,则会将所有段复制到新索引中,这是一个非常耗时的过程。)

最后,它恢复目标索引,就像它是一个刚刚重新打开的封闭索引一样。

具体参考官网: Shrink Index | Elasticsearch Reference [6.2] | Elastic

6. 分割索引: https://www.elastic.co/guide/en/elasticsearch/reference/6.2/indices-split-index.html

7. 滚动索引: Rollover Index | Elasticsearch Reference [6.2] | Elastic

当现有索引被认为太大或太旧时,滚动索引API将别名滚动到新索引。

API接受一个别名和一系列条件。别名必须仅指向单个索引。如果索引满足指定的条件,则会创建一个新索引,并将别名切换为指向新索引。

8.

定义字段

 给创建的索引定义字段

http://localhost:9200/twitter/_doc/_mapping?pretty

  1. {
  2. "_doc": {
  3. "properties": {
  4. "title": {
  5. "type": "text"
  6. },
  7. "body": {
  8. "type": "text"
  9. },
  10. "tags": {
  11. "type": "keyword"
  12. },
  13. "published_on": {
  14. "type": "keyword"
  15. },
  16. "comments": {
  17. "type": "nested",
  18. "properties": {
  19. "name": {
  20. "type": "text"
  21. },
  22. "comment": {
  23. "type": "text"
  24. },
  25. "age": {
  26. "type": "short"
  27. },
  28. "rating": {
  29. "type": "short"
  30. },
  31. "commented_on": {
  32. "type": "text"
  33. }
  34. }
  35. }
  36. }
  37. }
  38. }


添加数据:注意  这个 “_doc” 类型要和才创建的时候一直,否则会报错

给索引添加 字段

字段更新

更新字段映射

通常,无法更新现有字段的映射。这条规则有一些例外。例如:

可以将新属性添加到对象数据类型字段中。

新的多字段可以添加到现有字段中。

可以更新上面的ignore_参数。

  1. PUT my_index
  2. {
  3. "mappings": {
  4. "_doc": {
  5. "properties": {
  6. "name": {
  7. "properties": {
  8. "first": {
  9. "type": "text"
  10. }
  11. }
  12. },
  13. "user_id": {
  14. "type": "keyword"
  15. }
  16. }
  17. }
  18. }
  19. }
  20. PUT my_index/_mapping/_doc
  21. {
  22. "properties": {
  23. "name": {
  24. "properties": {
  25. "last": {
  26. "type": "text"
  27. }
  28. }
  29. },
  30. "user_id": {
  31. "type": "keyword",
  32. "ignore_above": 100
  33. }
  34. }
  35. }

创建一个索引,在名称对象数据类型字段下有第一个name字段,还有一个user_id字段。
在“名称对象”字段下添加最后一个字段。
从默认值0更新上面的忽略设置。

9. 查询映射

get mapping API允许检索索引或索引/类型的映射定义。

参考官网:Indices APIs | Elasticsearch Reference [6.2] | Elastic


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/839916
推荐阅读
相关标签
  

闽ICP备14008679号