es索引命令

es常用命令

1.索引管理

1.1创建索引

PUT /secisland
{
  "settings": {
      "number_of_shards":3,
      "number_of_replicas":1
   }
}

1.2删除索引

DELETE /secisland/

1.3获取索引

GET /secisland/
#返回内容
{
  "secisland": {
    "aliases": {},
    "mappings": {},
    "settings": {
      "index": {
        "creation_date": "1584587482430",
        "number_of_shards": "3",
        "number_of_replicas": "1",
        "uuid": "949RnFG2S4aX_cN1m3grlA",
        "version": {
          "created": "5030099"
        },
        "provided_name": "secisland"
      }
    }
  }
}

由返回类容可以看出,索引还可以配置mappings、aliases属性。

1.4修改索引

PUT /secisland/_settings
{
  #将副本分片数量修改为1
  "number_of_replicas": 1
}

1.5打开或关闭索引

​ 说明:关闭的索引只能够显示索引元数据,不能够进行读写操作。

语法

#关闭
POST /secisland/_close
#打开
POST /secisland/_open

2.索引映射管理

2.1增加映射

添加索引名为secisland,文档类型log,字段message,字段类型字符串

PUT /secisland
{
  "mappings": {
    "log":{
      "properties": {
        "message":{
          "type": "string"
          }
        }
      }
    }
}

向已存在索引secisland增加新的字段映射 , 也可用于修改字段映射

PUT /secisland/_mapping/log
{
   "properties": {
     "user_name":{
       "type": "string"
     }
  }
}

2.2获取映射

获取类型映射

GET /secisland/_mapping/log

获取字段映射

GET /secisland/_mapping/log/field/message

3.索引别名

说明:elasticsearch可以对一个或多个索引指定别名,通过别名可以查询到一个或多个索引内容。

3.1增加别名

POST /_aliases
{
  "actions":[
    {
      "add":{"index":"secisland","alias":"alias1"}
    }
  ]
}

3.2删除别名

POST /_aliases
{
  "actions":[
    {
      "remove":{"index":"secisland","alias":"alias1"}
    }
  ]
}

3.3过滤索引别名

通过过滤索引指定别名提供了对索引查看的不同视图。

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "test1","alias": "alias2",
        "filter": {"term": {
          "user": "kimchy"
        }}
      }
    }
  ]
}

4.索引配置

4.1更新/新增索引配置

#新增分词器
PUT /secisland/_settings
{
  "analysis": {
    "analyzer": {
      "content":{
        "type":"custom",
        "tokenizer":"whitespace"
      }
    }
  }
}

注意:添加分析器之前,必须先关闭索引,添加后再打开索引。

4.2获取配置

GET /secidland/_settings

4.3索引分析

索引分析:把文本拆分为一个单词,为倒排索引做准备

es中一个分析器(analyzes)由字符过滤器、分词器(tokenizer)以及标记过滤器组成。

测试分析器

POST /_analyze
{
  "analyzer": "standard",
  "text": "this is a test"
}

自定义分析器

POST /_analyze
{
  "tokenizer": "keyword",
  "filter":["lowercase"],
  "char_filter": ["html_strip"],
  "text": "this is a <b> tTest </b>"
}

5索引监控

5.1索引统计

获取指定索引的统计数据

	GET /index1/_status

5.3索引分片信息

GET /secisland/_segments

5.4索引恢复

GET /secisland/_recovery

5.5索引分片存储信息

GET /secisland/_shard_stores

6状态管理

6.1索引刷新

刷新接口可以明确刷新一个或多个索引,使之前最后一次刷新之后的所有操作被执行。

POST /secisland/_refresh

6.2冲洗

冲洗(flush)接口可以通过接口冲洗一个或多个索引。索引主要通过执行冲洗将数据保存到索引存储并清除内部事务日志,以此来释放索引的内存空间。默认,es使用内存启发式算法来自动触发冲洗操作的请求来清理内存

POST /secisland/_flush

7.文档管理

文档类似于数据库中的一条记录,文档必须包含在一个索引中。

7.1增加文档

PUT /secisland/secilog/1
{
  "collect_type":"syslog",
  "collect_date":"2020-03-19"
}

1.创建文档时,如果索引不存在,会自动创建索引,并自动映射每个字段类型。

2.创建文档时不指定ID,系统会自动创建一个不重复的随机数。

7.2更新文档内容

POST /secisland/secilog/1/_update
{
  "doc":{
    "collect_type":"systemlog"
  }
}

7.3查询文档内容

GET /secisland/secilog/1

7.4多文档查询

POST /_megt
{
    "docs":[
        {"_index":"secisland","_type":"secilog","_id":"1"},
        {"_index":"secisland","_type":"secilog","_id":"2"}
    ]
}

7.5块操作

分成action、metadata和doc三部份

action : 必须是以下4种选项之一

index(最常用) : 如果文档不存在就创建他,如果文档存在就更新他

create : 如果文档不存在就创建他,但如果文档存在就返回错误使用时一定要在metadata设置_id值,他才能去判断这个文档是否存在

update : 更新一个文档,如果文档不存在就返回错误使用时也要给_id值,且后面文档的格式和其他人不一样

delete : 删除一个文档,如果要删除的文档id不存在,就返回错误使用时也必须在metadata中设置文档_id,且后面不能带一个doc,因为没意义,他是用_id去删除文档的.

metadata : 设置这个文档的metadata,像是_id、_index、_type…

doc : 就是一般的文档格式

POST /_bulk
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_type" : "_doc", "_id" : "2" } }
{ "create" : { "_index" : "test", "_type" : "_doc", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_index" : "test", "_type" : "_doc", "_id" : "1" } }
{ "doc" : {"field2" : "value2"} }

“test”, “_type” : “_doc”, “_id” : “1” } }
{ “field1” : “value1” }
{ “delete” : { “_index” : “test”, “_type” : “_doc”, “_id” : “2” } }
{ “create” : { “_index” : “test”, “_type” : “_doc”, “_id” : “3” } }
{ “field1” : “value3” }
{ “update” : {"_index" : “test”, “_type” : “_doc”, “_id” : “1” } }
{ “doc” : {“field2” : “value2”} }

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值