elasticsearch增删改查操作基础

以下是使用kibana操作

创建user索引

PUT user_index
{
    "settings": {
        "analysis": {
            "analyzer": {
                "user_analyzer": {
                    "tokenizer": "user_tokenizer"
                }
            },
            "tokenizer": {
                "user_tokenizer": {
                "type": "ngram",
                "min_gram": 1,
                "max_gram": 2,
                "token_chars": [
                    "letter",
                    "digit",
                    "whitespace",
                    "punctuation",
                    "symbol"
                ]
                }
            }
        }
    },
  "mappings": {
    "user": {
      "properties": {
        "userId": {
          "type": "text",
          "store": true,
          "index": true
        },
      "avatar": {
          "type": "text",
          "store": true,
          "index": true
        },
        "nickname": {
          "type": "text",
          "store": true,
          "index": true,
          "analyzer": "user_analyzer",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        },
    "location": {
          "type": "geo_point",
          "store": true,
          "index": true
        },
     "age": {
          "type": "integer",
          "store": true,
          "index": true
        },
    "updateTime": {
          "type": "long",
          "store": true,
          "index": true
        },
    "status": {
          "type": "integer",
          "store": true,
          "index": true
        }
      }
    }
  }
}

删除user索引

DELETE user_index

删除索引中数据

POST /user_index/_delete_by_query
{
  "query": {
    "match_all": {}
  }
}

全部新增(覆盖式)数据

PUT /user_index/_doc/Iy3Vf654096819260751873
{
  "nickname": "测试新增/更新昵称",
  "age":24
}

单条-局部更新数据

POST /user_index/_update/Iy3Vf654096819260751873
{
  "doc": {
    "nickname": "测试局部更新昵称"
  }
}

批量-局部更新数据

#批量更新年龄是27岁的用户状态为1,存在更新,不存在则新增
POST /user_index/_update_by_query
{
"query":{
   "match":{
     "age":27
   }
},
  "script": {
    "source":"ctx._source['status']=1"
  }
}

查询某字段为空的数据集

GET /user_index/_search
{
"query":{
   "bool": {
     "must_not": [
       {
          "exists": {
            "field": "flag"
         }
       }
     ]
   }
 }
}

查询出来flag为空的用户,并批量更新flag为1

POST /user_index/_update_by_query
{
"query":{
   "bool": {
     "must_not": [
       {
          "exists": {
            "field": "flag"
         }
       }
     ]
   }
},
  "script": {
    "source":"ctx._source['flag']=1"
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值