博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Elasticsearch技术解析与实战》Chapter 2.1 Elasticsearch索引增删改查
阅读量:6233 次
发布时间:2019-06-21

本文共 3582 字,大约阅读时间需要 11 分钟。

1. 创建索引

PUT /lujiahao123{  "acknowledged": true,  "shards_acknowledged": true}索引默认的主分片数量是5,每个主分片的副本数量是1。复制代码

创建自定义字段类型的索引:

PUT /order{  "settings": {    "number_of_shards": 3,    "number_of_replicas": 2  },  "mappings": {    "carpoolType":{      "properties": {        "orderNo":{          "type": "string",          "index": "not_analyzed"        }      }    }  }}#! Deprecation: The [string] field is deprecated, please use [text] or [keyword] instead on [orderNo]{  "acknowledged": true,  "shards_acknowledged": true}ES5.0版本中string类型被拆分为text和keyword类型: https://www.elastic.co/blog/strings-are-dead-long-live-strings复制代码

2. 修改索引

PUT /order/_settings{  "number_of_replicas": 2}复制代码

更新分词器

POST /order/_closePUT /order/_settings{  "analysis": {    "analyzer": {      "content":{        "type":"customer",        "tokenizer":"whitespace"      }    }  }}POST /order/_open添加分析器之前必须先关闭索引,添加之后再打开索引。复制代码

尝试修改索引主分片数:

PUT /order/_settings{  "number_of_shards": 2}复制代码

错误提示:

{  "error": {    "root_cause": [      {        "type": "illegal_argument_exception",        "reason": "Can't update non dynamic settings [[index.number_of_shards]] for open indices [[order/2cOJ6Ga7THCyW10idoPPig]]"      }    ],    "type": "illegal_argument_exception",    "reason": "Can't update non dynamic settings [[index.number_of_shards]] for open indices [[order/2cOJ6Ga7THCyW10idoPPig]]"  },  "status": 400}主分片是无法修改的,主分片个数一旦建立就无法修改,但是看错误原因里面说因为这个是open的索引,那是不是关闭的索引就可以修改主分片个数了呢?这个我们后面再解答。复制代码

3. 删除索引

删除单个索引:DELETE /order删除索引需要指定索引名称,别名或者通配符复制代码
删除多个索引:DELETE order,order1,order2DELETE order*复制代码
删除全部索引:DELETE _allDELETE *复制代码

使用_all 和通配符删除全部索引 为了防止误删除,设置config/elasticsearch.yml属性action.destructive_requires_name=true,以禁用通配符或_all删除索引。

4. 查询索引

GET /order{  "order": {    "aliases": {},    "mappings": {      "carpoolType": {        "properties": {          "orderNo": {            "type": "keyword"          }        }      }    },    "settings": {      "index": {        "creation_date": "1555054886098",        "number_of_shards": "3",        "number_of_replicas": "2",        "uuid": "uSh9K26CS_q1uZKaos7NRQ",        "version": {          "created": "5050099"        },        "provided_name": "order"      }    }  }}复制代码

自定义返回结果的属性:

GET /order/_settings,_aliases{  "order": {    "settings": {      "index": {        "creation_date": "1555054886098",        "number_of_shards": "3",        "number_of_replicas": "2",        "uuid": "uSh9K26CS_q1uZKaos7NRQ",        "version": {          "created": "5050099"        },        "provided_name": "order"      }    },    "aliases": {}  }}复制代码

5. 打开/关闭索引

索引关闭只能显示索引元数据信息,不能够进行读写。

POST /order/_closePOST /order/_openhealth status index   uuid                   pri rep docs.count docs.deleted store.size pri.store.sizeyellow open   .kibana 8n5wnGEjRJ-aVa54l_jTjA   1   1          1            0      3.1kb          3.1kbyellow open   order   uSh9K26CS_q1uZKaos7NRQ   3   2          0            0       486b           486b复制代码

可以同时打开或关闭多个索引。如果指向不存在的索引会抛出错误,可通过配置ignore_unavailable=true 关闭异常提示。 禁止使用关闭索引功能,配置settingscluster.indices.close.enable为false,默认值是ture。

6. 关闭索引后尝试修改主分片个数

PUT /order/_settings{  "number_of_shards": 2}{  "error": {    "root_cause": [      {        "type": "illegal_argument_exception",        "reason": "final order setting [index.number_of_shards], not updateable"      }    ],    "type": "illegal_argument_exception",    "reason": "final order setting [index.number_of_shards], not updateable"  },  "status": 400}复制代码

解答了之前的问题,索引一旦建立,主分片数量不可改变。

Tips

本文同步发表在公众号,欢迎大家关注!? 后续笔记欢迎关注获取第一时间更新!

转载于:https://juejin.im/post/5cb7024ee51d456e831f690f

你可能感兴趣的文章
tomcat虚拟主机 server.xml文件配置
查看>>
Capture Nx
查看>>
OC中的NSSet(集合)
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
每天一个linux命令-mkdir
查看>>
四天精通shell编程(二)
查看>>
标签制作软件中如何导出标签模板为PDF文件?
查看>>
Linux运维系统工程师系列---22
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
域结构的网络
查看>>
mysql 命令
查看>>
Oracle 11g rac 生产环境部署详录
查看>>
web.xml 中<taglib>报错
查看>>
Linux文件系统上的特殊权限(SUID、SGID、Sticky)的知识点
查看>>
零部件表设计 T_AIS_BASE_PARTS_INFO
查看>>
fgsdf
查看>>
一、Asp.Net MVC4.0开发CMS系统案例之数据库设计
查看>>
Vue.js 2.x笔记:路由Vue Router(6)
查看>>