ElasticSearch——常用命令

ElasticSearch------常用命令

集群相关

复制代码

--查询集群健康状态

GET _cluster/health

--查询所有节点

GET _cat/nodes

--查询索引及分片的分布

GET _cat/shards

--查询指定索引分片的分布

GET _cat/shards/order_stpprdinf_2019-12?v

--查询所有插件

GET _cat/plugins

复制代码

索引相关查询

复制代码

--查询所有索引及容量

GET _cat/indices

--查询索引映射结构

GET my_index/_mapping

--查询所有索引映射结构

GET _all

--查询所有的相同前缀索引

GET my-*/_search

--查询所有索引模板

GET _template

--查询具体索引模板

GET _template/my_template

复制代码

索引相关操作

1、创建索引模板

复制代码

创建模板

PUT template/test_hot_cold_template
{
"index_patterns": "test
*",

"settings": {

"number_of_shards" : 3,

"index.number_of_replicas": 1

},

"mappings": {

"order": {

"dynamic": false,

"properties": {

"id": {"type": "long"},

"name": {"type": "keyword"}

}

}

},

"aliases": {

"test": {}

}

}

根据模板创建索引并写入数据

POST test_hot_cold-2019-12-01/order

{

"id":1,

"name":"cwx"

}

删除模板

DELETE _template/order_stpprdinf_template

复制代码

2、直接创建索引

复制代码

PUT my_index

{

"mappings": {

"doc": {

"properties": {

"name": {

"type": "text"

},

"blob": {

"type": "binary"

}

}

}

}

}

复制代码

复制代码

-- 增加字段

put my_index/_mapping/doc

{

"properties": {

"cwxtest": {"type": "keyword"}

}

}

-- 数据冷备份

PUT _snapshot/my_backup # my_backup 备份的名称

{

"type": "order",

"settings": {

"location": "/mount/backups/my_backup"

}

}

复制代码

3、写入索引

PUT my_index/doc/1

{

"name": "Some binary blob",

"blob": "U29tZSBiaW5hcnkgYmxvYg=="

}

4、删除索引

DELETE my-index

5、修改索引setting

复制代码

PUT /test_hot_cold-2019-12-01/_settings

{

"settings": {

"index.routing.allocation.require.hotwarm_type": "cold"

}

}

复制代码

创建文档

在Kibana创建索引,插入数据,查询数据

复制代码

PUT b-ups-app-test

PUT b-ups-app-test/_doc/1

{

"logTimestamp": "2022-12-12T14:32:43+08",

"logLevel": "ERROR",

"logContent": "com.zat.umpg.exception.BusinessException: 交易不存在交易不存在交易不存在交易不存在交易不存在"

}

get b-ups-app-test/_doc/1

复制代码

也可以自动生成

_id

值:

复制代码

POST /products/_doc

{

"id":"10027",

"title":"vivo X9前置双摄全网通4G美颜自拍超薄智能手机大屏vivox9",

"category":"手机会场",

"price":"2798.00",

"city":"广东东莞",

"barcode":"541396973568"

}

复制代码

查看文档

GET /products/_doc/10037

查看指定文档title字段的分词结果:

GET /products/_doc/10037/_termvectors?fields=title

修改文档

底层索引数据无法修改,修改数据实际上是先删除再重新添加。两种修改方式:

PUT:对文档进行完整的替换

POST:可以修改一部分字段

复制代码

修改文档 - 替换

PUT /products/_doc/10037

{

"id":"10037",

"title":"SONOS PLAY:1无线智能音响系统 美国原创WiFi连接 家庭桌面音箱",

"category":"潮酷数码会场",

"price":"9999.99",

"city":"上海",

"barcode":"527783392239"

}

复制代码

复制代码

修改文档 - 更新部分字段

POST /products/_update/10037

{

"doc": {

"price":"8888.88",

"city":"深圳"

}

}

复制代码

删除文档

复制代码

#删除索引指定文档

DELETE /products/_doc/10037

#清空索引所有文档

POST /products/_delete_by_query

{

"query": {

"match_all": {}

}

}

复制代码

DSL query查询

复制代码

--1.查询所有

GET _search

{

"query": {

"match_all": {}

}

}

--2.查询单个索引 的 固定属性

--精确匹配

GET _search

{

"query": {

"term": { "name" : "you" }

}

}

--模糊匹配

GET _search

{

"query": {

"match": { "name" : "you" }

}

}

--范围查找

GET _search

{

"query": {

"range": {

"age":{ "gte" : 15 , "lte" : 25 }

}

}

}

GET indexName/_search

{

"query": {

"wildcard":{"relateId":"672499460503 "}

}

}

--3.功能性查询

--过滤

GET my_index/_search

{

"query": {

"bool": {

"filter": {

"term":{"age":1095}

}

}

}

}

--或 or

GET my - test / _search

{

"query": {

"bool": {

"should": [{

"term": {

"name": "you"

}

}, {

"match": {

"age": 20

}

}]

}

}

}

--与 AND

GET my-test/_search

{

"query": {

"bool": {

"must" : [{

"match" : {

"name" : "you"

}

},{

"range":{

"age":{

"from" : 10 , "to" : 20

}

}

}]

}

}

}

--必须 =

GET my_index/_search

{

"query": {

"bool": {

"must" : {

"range" : {

"age" : { "from" : 10, "to" : 20 }

}

}

}

}

}

--必须不 not

GET my_index/_search

{

"query": {

"bool": {

"must_not" : {

"term" : {

"name" : "you"

}

}

}

}

}

--复合查找

GET my_index/_search

{

"query": {

"bool": {

"should": [{

"match": {

"age": 40

}

},

{

"match": {

"age": 20

}

}],

"filter": {

"match":{

"name":"you"

}

}

}

}

}

--4.索引迁移

--场景 从A索引 复制到B索引

POST _reindex

{

"source": {

"index": "my_index"

},

"dest": {

"index": "new_my_index"

}

}

--5.基于查询的删除

POST test-index/_delete_by_query

{

"query":{

"term": {

"cameraId":"00000000002"

}

}

}

--查询

GET test-index/_search

{

"query":{

"term": {

"cameraId":"00000000002"

}

}

}

复制代码

按时间范围查询:

复制代码

GET order_stpprdinf_2019-12/_search

{

"size":10,

"query":{

"range":{

"order_time":{

"gte":"2019-12-11T00:00:00+08:00",

"lte":"2019-12-11T23:59:59+08:00"

}

}

}

}

复制代码

按条件删除:

复制代码

GET order_stpprdinf_2019-12/_delete_by_query?conflicts=proceed

{

"query":{

"range":{

"order_time":{

"gte":"2019-12-11T00:00:00+08:00",

"lte":"2019-12-11T23:59:59+08:00"

}

}

}

}

复制代码

可在kibana的Dev Tools控制板上执行以上命令: