• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ElasticSearch 常用操作

武飞扬头像
海光之蓝
帮助1

#创建索引
PUT dba_test 
{"settings": {"number_of_shards" : 1, "number_of_replicas" : 0 } }
#设置mapping
PUT dba_test/_mappings
{"properties":{
	"user_name":{"type":"text","analyzer": "ik_max_word","search_analyzer": "ik_smart"},
	"gender":{"type":"keyword","null_value":"NULL"},
	"age":{"type":"long"},
	"role":{"type":"keyword"},
	"create_time":{"type":"date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd"}
  }
}
查看mapping
POST _sql?format=txt
{"query": "show columns in dba_test"}
查看索引信息
GET dba_test
删除索引
DELETE dba_test
单条添加数据
POST dba_test/_doc/1
{"user_name":"AAA","gender":"男","age":18,"role":"dba","create_time":"2022-01-01 00:00:00"}

批量添加数据
POST _bulk
{"index":{"_index":"dba_test","_id":2}}
{"user_name":"BBB","gender":"男","age":18,"role":"developer","create_time":"2022-01-01 12:00:00"}
{"index":{"_index":"dba_test","_id":3}}
{"user_name":"CCC","gender":"男","age":19,"role":"developer","create_time":"2022-01-02 00:00:00"}
{"index":{"_index":"dba_test","_id":4}}
{"user_name":"DDD","gender":"男","age":20,"role":"tester","create_time":"2022-01-03 00:14:00"}
{"index":{"_index":"dba_test","_id":5}}
{"user_name":"EEE","gender":"男","age":18,"role":"developer","create_time":"2022-01-04 18:00:00"}
{"index":{"_index":"dba_test","_id":6}}
{"user_name":"FFF","gender":"男","age":19,"role":"developer","create_time":"2022-01-05 16:00:00"}
{"index":{"_index":"dba_test","_id":7}}
{"user_name":"GGG","gender":"女","age":20,"role":"developer","create_time":"2022-01-01 20:00:00"}
{"index":{"_index":"dba_test","_id":8}}
{"user_name":"HHH","gender":"女","age":18,"role":"developer","create_time":"2022-01-02 16:00:00"}
{"index":{"_index":"dba_test","_id":9}}
{"user_name":"III","gender":"女","age":19,"role":"tester","create_time":"2022-01-03 15:00:00"}
{"index":{"_index":"dba_test","_id":10}}
{"user_name":"JJJ","gender":"女","age":20,"role":"tester","create_time":"2022-01-04 17:00:00"}
{"index":{"_index":"dba_test","_id":11}}
{"user_name":"KKK","gender":"女","age":18,"role":"developer","create_time":"2022-01-05 12:00:00"}
{"index":{"_index":"dba_test","_id":12}}
{"user_name":"秋实","gender":"男","age":18,"role":"dba","create_time":"2022-01-01 00:00:00"}
{"index":{"_index":"dba_test","_id":13}}
{"user_name":"陈秋实","gender":"男","age":18,"role":"dba","create_time":"2022-01-01 00:00:00"}

学新通
查询所有数据
GET /_sql?format=txt
{"query": "SELECT * FROM dba_test"}

GET dba_test/_search

GET dba_test/_search
{"query":{"match_all":{}}}
根据主键查询
GET dba_test/_doc/1
单条件查询
GET dba_test/_search
{
	"_source":["user_name","gender","age"],
	"query":{
		"match":{
			"gender":"男"
		}
	},
	"sort":{
		"age":{"order":"asc"}
	},
	"from":0,
	"size":10
}

GET /_sql?format=txt
{"query": "SELECT user_name,gender,age FROM dba_test WHERE gender='男' order by age asc limit 10 "}
学新通
多条件查询
GET dba_test/_search
{	
	"_source":["gender","age","role"],
	"query":{
		"bool":{
			"must":[
				{"match":{"gender":"男"}},
				{"match":{"role":"developer"}}
			],
			"filter":{
				"range":{
					"age":{"gt":17}
				}
			}
		}
	},
	"sort":{
		"gender":{"order":"asc"},
		"age":{"order":"asc"}
	},
	"from":0,
	"size":10
}

GET /_sql?format=txt
{"query": "SELECT gender,age,role FROM dba_test WHERE gender='男' and role='developer' and age>17 order by gender asc ,age asc limit 10 "}

学新通
全文检索
GET dba_test/_search
{"query":{"match_phrase":{"user_name":"陈秋实"}}}

全量覆盖修改文档
PUT dba_test/_doc/1
{"user_name":"AAAA","gender":"男","age":18,"role":"dba","create_time":"2022-01-01T00:00:00"}

部分更新
POST dba_test/_update/1 
{"doc":{"user_name":"AAA","age":19}}

批量部分更新
暂无

删除单个文档
DELETE dba_test/_doc/1

查询删除(批量删除)
POST dba_test/_delete_by_query
{ "query":{ "match":{"age":18} } }

Elasticsearch SQL是一个X-Pack组件,它允许针对Elasticsearch实时执行类似SQL的查询。无论使用REST接口,命令行还是JDBC,任何客户端都可以使用SQL对Elasticsearch中的数据进行原生搜索和聚合数据。可以将Elasticsearch SQL看作是一种翻译器,它可以将SQL翻译成Query DSL。
ES SQL语法(只支持单index,不支持分页,不支持主键(_id)查询)

GET /_sql?format=[ txt|json ]
{"query": "SQL"}

SELECT select_expr
[ FROM table_name」
[ WHERE condtion]
[ GROUP BY grouping_element]
[ HAVING condition ]
[ ORDER BY expression [ASC|DESC]
[ LIMIT[ count]]

 
 GET /_sql?format=txt
{"query": "SELECT * FROM dba_test LIMIT 10"}
 
 GET /_sql?format=json
{"query": "SELECT * FROM dba_test LIMIT 10"}
 
学新通
查看集群配置信息
GET _cluster/settings

查看集群健康状态
GET _cluster/health

查看集群当前运行状态
GET _cluster/stats

查看集群所有节点运行状态
GET _nodes/stats

查看集群挂起的任务
GET _cluster/pending_tasks

查看各节点磁盘使用情况
GET /_cat/allocation?v

查看各个索引的健康
GET _cluster/health?level=indices

查看yellow索引
GET /_cat/indices?v&health=yellow

查看red索引
GET /_cat/indices?v&health=red

到底索引的哪个分片出现了红色或者黄色问题
GET _cluster/health?level=shards

到底什么原因导致了集群变成红色或者黄色呢
GET _cluster/allocation/explain

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbgiag
系列文章
更多 icon
同类精品
更多 icon
继续加载