es8.X 语法
# 查询全部
GET _search
# 查健康值
GET _cat/health
# 获取索引情况
GET _cat/indices?v
# 创建索引
PUT /es_db
# 查询索引:1
GET /es_db
# 查询索引是否存在
HEAD /es_db
# 删除索引
DELETE /es_db
# 创建索引时设置分片数和副本数
PUT /es_db
{
"settings": {"number_of_shards": 3,
"number_of_replicas": 2
}
}
# 修改索引配置
PUT /es_db/_settings
{
"index":{
"number_of_replicas":1
}
}
# 添加ik分词器
PUT /es_db
{
"settings": {
"index":{
"analysis.analyzer.default.type":"ik_max_word"
}
}
}
# 添加文档
PUT /es_db/_doc/1
{
"name":"张三",
"age": 10,
"address":"深圳市宝安区海谷科技大厦"
}
# 查询文档
GET /es_db/_search
# 条件查询
GET /es_db/_search
{
"from":0,
"size":20,
"query": {
"match": {
"name": "张三"
}
}
}
# 条件查询
GET /es_db/_search?q=name:庆
# 局部更新
POST /es_db/_update/5
{
"doc": {
"age":22
}
}
# 条件查询 过滤器
GET /es_db/_search
{
"query": {
"match_all": {}
},
"post_filter": {
"range": {
"age": {
"gte": 10,
"lte": 20
}
}
}
}
# 删除文档
DELETE /es_db/_doc/5
# 短语查询
POST /es_db/_search
{
"query": {
"match_phrase": {
"name": "张三"
}
}
}
# 高亮显示
POST /es_db/_search
{
"query": {
"match_phrase": {
"name": "张三"
}
},
"highlight": {
"fields": {
"name": {}
}
}
}
# 聚合查询
GET /es_db/_search
{
"query": {"match_all": {}},
"aggs": {
"name": {
"terms": {
"field": "address.keyword"
}
}
}
}
# 注:text类型需 分词后 查询
# Text fields are not optimised for operations that require per-document field data like aggregations and sorting, so these operations are disabled by default. Please use a keyword field instead. Alternatively, set fielddata=true on [name] in order to load field data by uninverting the inverted index. Note that this can use significant memory
# 聚合查询 求平均值
GET /es_db/_search
{
"query": {"match_all": {}},
"aggs": {
"name": {
"avg": {
"field": "age"
}
}
}
}