使用kibana实现elasticsearch的增删改查

0.添加索引

PUT lagou
 {
   "settings":{
     "index":{
       "number_of_shards":5,
       "number_of_replicas":1
     }
   }

}
#number_of_shards 分片数量
#number_of_replicas 副本数量

#获取lagou的设置
 GET lagou/_settings
#获取所有的设置
 GET _all/_settings
#获取所有的设置(同上)
 GET _settings
#获取kibana和lagou的设置
 GET .kibana,lagou/_settings

在设置中分片的数量不能修改但是副本的数量可以修改

#number_of_shards 分片数量
#number_of_replicas 副本数量
#修改副本数量设置

PUT lagou/_settings
{
  "number_of_replicas":2
}

#获取索引信息
GET _all 
GET lagou

#获取库中所有的索引
GET _cat/_indices

1.查询数据

1.1 根据文档id查询数据

#获取某个索引中某个类型某个id的数据
GET lagou/_doc/1
#或者可以这样
GET lagou/_doc/1?_source

1.2 根据query语句查询语句

此种查询方式灵活,通常开发时常用

GET lagou/_search
{
  "size": xxx, # 返回数据量
  "sort": {"字段": {"order": "asc|desc"}},
  "_source": ["字段1", "字段2", ...],
  "query": {
    "bool": {
      "filter": {"field":"value"} ,
      "must|must_not|should" : []
    }
  }
}

2.插入数据-create|insert

#接下来是保存一篇文档到索引当中去  (相当于插入一条记录到一个数据库表当中)
PUT lagou/_doc/1
{
  "title":"python分布式爬虫开发",
  "salary_min":15000,
  "city":"北京",
  "company":{
    "name":"百度",
    "company_addr":"北京市软件园"
  },
  "publish_date":"2017-4-16",
  "comments":15
}


#保存文档到索引当中,不给id
POST lagou/_doc/
{
  "title":"java架构师",
  "salary_min":30000,
  "city":"上海",
  "company":{
  "name":"美团",
  "company_addr":"北京市软件园"
  },
  "publish_date":"2017-4-16",
  "comments":20
}

3.更新修改-update

3.1 覆盖形式更新

#修改文档  (这种采用的是覆盖的方式)   相当于sql中的 update job set title=?,salary_min=?city=? (....省略...) where id = 1
PUT lagou/_doc/1
{
  "title":"linux运维工程师",
  "salary_min":10000,
  "city":"广州",
  "company":{
    "name":"腾讯",
    "company_addr":"广州软件园"
   },
  "publish_date":"2017-4-12",
  "comments":21
}

3.2 不覆盖文档更新

# update job set comments = 20 where id = 1 
POST lagou/_doc/1/_update
{
  "doc":{
    "comments":20
  }
}

# 或者,update形式更新,不覆盖原纪录
POST lagou/_doc/1
{
  字段名:字段值
  ...
}

3.3 通过查询更新-不覆盖

POST business/_update_by_query
{
  "query": {
    "term": {
      "operator_id.keyword": "operator-0" 
    }
  },
  "script": {
    "lang": "painless",
    "source": "ctx._source.operator_name=params.operator_name",
    "params": {
      "operator_name": "name_0"
    }
  }
}

4.删除-delete

  • 删除一条记录,
  • 删除一个type(表)
  • 删除整个 index (库)

4.1 删除一条记录

DELETE lagou/_doc/1

4.2 删除整个 index (库)-慎重

DELETE lagou

4.3 根据查询语句删除

DELETE /索引名/需要清空的type/_query # e.g. DELETE lagou/_doc/_query
{
  "query": {
  "match_all": {}
  }
}

使用kibana实现elasticsearch的增删改查

上一篇:ASP.NET MVC请求处理管道生命周期的19个关键环节(13-19)


下一篇:charles-修改请求;也就是所谓的断点;