elasticsearch增删改查crudp-----1

  

Elasticsearch一些增删改查的总结

环境Centos7+Es 5.x

简单介绍下ES的原理:

1,索引  --相当于传统关系型数据库的database或schema

2,类型  --相当于传统关系型数据库的table

3,id     --相当于传统关系型数据库的行row

4,_source  --这当中的每个字段相当于传统关系型数据库的列column

5,分片    --索引的拷贝,一是为了安全,而是分布式提高性能,相当于传统关系型数据库中master-master or master-slave结构

6,节点  --集群中的每个成员 --相当于传统关系型数据库集群中的每个实例(oracle)

下面我们看看es的普通crud:

1、创建一个索引

PUT car
{
  "mappings": {
    "benz": {
      "properties": {
        "date": {
          "type": "date"
        }
      }
    }
  }
}
比如我们创建了一个名称为car的索引,类型为benz,添加了一个元数据date,执行结果:

   这时,我们想在benz类型中添加一个字段属性:

   

    我们往index为car,类型为benz的索引中添加了一个字段english_title,字段类型为字符串,采用英文分析器。

    我们尝试往这个索引中添加内容:

    

    这里的id是自动生成的,当然我们也可以指定id,如下:

    

     获取刚添加id为1的数据:

    

    获取索引car类型为benz下的所有数据:

    

 

   当然也可以直接put或post新增曾端会自己添加,如索引、类型都没有也会自动创建:

    

    POST /car/benz
    {
    "price":"30",
    "color":"black",
    "english_title":"CCTV are Say good!"
    }

  删除一个或多个索引:

 

  从一个类型中删除一条数据:

 

  更新一条数据:

      1)添加

        

      2)查看该条数据

         

      3)更新该条数据

        

        4)查看更新后的数据

        

 

 2、多索引多类型查询

      1)查询索引website,sky下所有类型

      

        2)查询索引website,sky下类型eurape,blog类型数据

         

 

 3、分页查询

            1)如果数据较多,想限制显示数量,如显示1-10共10条

            

 

4、简单的条件搜索

  1)查询所有索引中所有类型为blog,date字段为2014/01/01的字段

             

 

        注意看左边的结果,能完全匹配的是id为AVm1so4Nsrq782OZqS8R的这条,下面那条只是相似,搜索引擎的优势就出来了,即使不完全一样也会把数据带出来,那那条数据是我们真正想要的(可能更匹配的)那就看_score字段了,分值越高越匹配。

  2)查询多个字段

    

由于篇幅问题,我们见下一篇

 

posted @ 2017-02-23 22:20  dba_xyx  阅读(486)  评论(0编辑  收藏  举报