第四章:elasticsearch基本操作

一.索引

    在Elasticsearch中存储数据的行为就叫做索引(indexing),ES中所有相当于传统的数据库,type相当数据表,如下图对比

    Relational DB -> Databases -> Tables -> Rows -> Columns
    Elasticsearch -> Indices -> Types -> Documents -> Fields

   创建一个索引:使用 PUT 进行创建

   PUT /lib/       // lib :索引名
   {
      "settings":{
       "index":{
            "number_of_shards":3,  //数据分片,不设置默认是5
      
            "number_of_replicas":0  //数据备份
           }
         }
     }

查询索引:使用 GET 查询

GET /lib/_settings   //查询lib的索引

GET _all/_settings  //查询所有的所用

删除索引 : 使用 DELETE 

DELETE  lib   //删除lib的索引

 

二.类型,文档  

  创建: 使用 PUT或POST 创建类型

  PUT /lib/user/1  //user :是类型  1:这个类型id

  PUT /lib/user/1
{
  "first_name":"kale",
  "last_name":"mile",
  "age":22,
  "about":"I like to rocke",
  "interests":["music"]
}

POST /lib/user/  //使用POST生成不要指定id,ES会自动生成id
{
  "first_name":"kale",
  "last_name":"mile",
  "age":22,
  "about":"I like to rocke",
  "interests":["music"]
}

 查询 :使用 GET

 GET lib/user/1   // 查询user为1

 GET lib/user/_search  //查询user总的所有数据

  GET lib/user/1?_source=age,last_name    // 查询user为1,只显示age和last_name字段

  GET /_mget    //使用_mget批量获取文档的数据
{
  "docs":[
    {
      "_index":"lib",
      "_type":"user",
      "_id":1
    },
     {
      "_index":"lib2",
      "_type":"person",
      "_id":1
    }
    ]
}

GET /_mget     //获取指定字段的数据 加上_source
{
  "docs":[
    {
      "_index":"lib",
      "_type":"user",
      "_id":1,
      "_source":"last_name"  //加上 _source
    },
     {
      "_index":"lib2",
      "_type":"person",
      "_id":1,
       "_source":["age","last_name"]
    }
    ]
}

GET /lib/user/_mget    //在同一个文档下批量获取
{
  "ids":["1","2"]
}

更新 :使用 PUT 和POST

PUT /lib/user/1  //使用PUT就是把user为1的文档直接进行覆盖,从而达到更新文档
{
  "first_name":"kale",
  "last_name":"lidass",
  "age":32,
  "about":"I like to rocke",
  "interests":["music"]
}

POST /lib/user/1/_update   //POST使用修改哪个地段,就添加哪个字段
{
  "doc":{
    "age":56
  }
}

删除文档

DELETE  lib/user/1   //删除user为1的文档

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章