elasticsearch语法之基础(一)


1:es与数据库的对应关系

关系型数据库(比如Mysql)非关系型数据库(Elasticsearch)
数据库Database 索引Index
表Table 类型Type
数据行Row 文档Document
数据列Column 字段Field
约束 Schema 映射Mapping



2:es的相关命令

  GET _cat/health 查看集群的健康状况

  GET _all  查看所有索引及字段详情

  PUT 类似于SQL中的增

  DELETE 类似于SQL中的删

  POST 类似于SQL中的改

  GET 类似于SQL中的查

3:创建索引

  PUT 索引名称

  具体索引分片数自行查询设置

4:查询索引信息

  GET 索引名称

5:删除索引

  DELETE 索引名称

6:插入数据

PUT /demo_test_dev/_doc/1
{
    "name":"yjw",
    "age":27,
    "sex":"男"
}

  注意:我们插入数据的时候,如果我们的语句中指明了index和type,如果ES里面不存在,默认帮我们自动创建

7:根据id查询数据

   GET /index/type/id

8:根据id修改数据,全局更新

PUT /demo_test_dev/_doc/1
{
    "name":"yjw1",
    "age":27,
    "sex":"男",
    "phone":"18210408839"
}

9:根据id删除数据

  DELETE  /index/type/id

10:根据id修改数据,post修改,非全局更新

POST /demo_test_dev/_update/1
{
  "doc":{
    "name":"yjw"
  }
}

11:查询索引下所有数据,类似于全表扫描

  POST /demo_test_dev/_search

  took:  耗费了0毫秒

  _shards:  分片的情况

  hits:  获取到的数据的情况

  total:  总的数据条数

  max_score:  1.0 所有数据里面打分最高的分数

  _index:"demo_test_dev"    index名称

  _type:"_doc"    type的名称

  _id:"1"   id号

  _score:   1 分数,这个分数越大越靠前出来,百度也是这样。除非是花钱。否则匹配度越高越靠前