elasticsearch在kibana的操作

执行环境在kibana中

索引的操作

创建索引库

语法

PUT /索引名称 {
	"settings": { 
		"属性名": "属性值"
	} 
}

在这里插入图片描述

settings:索引库设置,可以定义索引库的属性 比如分片数 副本数等,这里先不设置

判断索引是否存在
HEAD /索引名称

在这里插入图片描述

查看索引

单个索引

GET /索引名称

在这里插入图片描述
批量查看

GET /索引名称1,索引名称2

查看全部索引1

GET _all

在这里插入图片描述
查看全部索引2

GET /_cat/indices?v

在这里插入图片描述
green:索引的所有分片都正常分配。
yellow:至少有一个副本没有得到正确的分配。
red:至少有一个主分片没有得到正确的分配。

打开和关闭索引
POST /索引名称/_open
POST /索引名称/_close

在这里插入图片描述

关闭之后就不能查询了
在这里插入图片描述

删除索引
DELETE /索引名称1,索引名称2,索引名称3...

映射操作

Elasticsearch7.x取消了索引type类型的设置,不允许指定类型,默认为_doc,但字段仍然是有的,我们需要设置字段的约束信息,叫做字段映射 (mapping)。

创建映射字段
PUT /索引库名/_mapping 
{
	"properties": { 
		"字段名": {
			"type": "类型", 
			"index": true, 
			"store": true, 
			"analyzer": "分词器"
		}
	}
}

字段名自己定义
属性包括:
type:类型,可以是text、long、short、date、integer、object等
index:是否索引,默认为true
store:是否存储,默认为false
analyzer:指定分词器
等等
官网查看:https://www.elastic.co/guide/en/elasticsearch/reference/7.3/mapping-params.html
示例:向worker_index设置字段映射

PUT /worker_index/_mapping/
{
  "properties": {
    "name": {
      "type": "text",
      "analyzer": "ik_max_word"
    },
    "job": {
      "type": "text",
      "analyzer": "ik_max_word"
    }
  }
}
查看映射字段
GET /索引名称/_mapping

在这里插入图片描述

查看所有索引映射关系

GET _mapping
GET _all/_mapping
修改映射关系

修改映射只能增加字段,做其它更改只能删除索引 重新建立映射

PUT /索引库名/_mapping 
{
	"properties": { 
		"字段名": {
			"type": "类型", 
			"index": true, 
			"store": true, 
			"analyzer": "分词器"
		}
	}
}
索引和映射一起创建
put /索引库名称 
{
	"settings":{ 
		"索引库属性名":"索引库属性值"
    },
    "mappings":{
		"properties":{ 
			"字段名":{
				"映射属性名":"映射属性值"
			} 		
		}
	} 
}

在这里插入图片描述

文档的操作

新增文档

指定id的新增文档

POST /索引名称/_doc/{id}
{
    "field":"value"
}

在这里插入图片描述
不指定id的新增文档

POST /索引名称/_doc
{
    "field":"value"
}
查看单个文档
GET /索引名称/_doc/{id}

在这里插入图片描述

查看所有文档
POST /索引名称/_search
{
  "query": {
    "match_all": {}
  }
}

在这里插入图片描述

_source定制返回结果

让source只返回需要的结果

GET  /worker_index/_doc/1?_source=name

在这里插入图片描述

更新文档
全部更新

只保留更新的字段,没有的字段就被删除了

PUT /索引名称/_doc/{id}
{
    "field":"value"
}

把刚才新增的请求方式POST改为PUT,就是修改了,不过修改必须指定id,id对应文档存在,则修改, id对应文档不存在,则新增
在这里插入图片描述

查看一下,可以看到之前的job字段已经没有了
在这里插入图片描述

局部更新

只是修改某个字段

POST /索引名/_update/{id} 
{
    "doc":{
        "field":"value"
	} 
}

在这里插入图片描述
查看一下,可以看到之前的字段还在
在这里插入图片描述

带乐观锁的更新

创建文档

PUT /test_index/_doc/4
{
  "test_field": "test"
}

获取数据

GET /test_index/_doc/4 
#返回
{
  "_index" : "test_index",
  "_type" : "_doc",
  "_id" : "4",
  "_version" : 1,
  "_seq_no" : 0,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "test_field" : "test"
  }
}

更新

  1. 使用if_seq_no和 if_primary_term进行乐观锁控制
PUT /test_index/_doc/4?if_seq_no=0&if_primary_term=1
{
  "test_field": "changed"
}
  1. external version进行乐观锁并发控制
    这里version=2的版本号,要比上面get拿到的version的版本号大才能更新
PUT /test_index/_doc/4?version=2&version_type=external
{
  "test_field": "changed"
}
删除文档
根据id删除
DELETE /索引名/_doc/{id}
根据查询条件删除
POST /索引库名/_delete_by_query 
{
	"query": {
		"match": {
			"字段名": "搜索关键字" 
		}
	} 
}

示例

POST /lagou-company-index/_delete_by_query
{
	"query":{
		"match":{
			"name":"Jack" 
		}
	} 
}
删除所有文档
POST 索引名/_delete_by_query 
{
	"query": {
		"match_all": {}
	}
} 
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值