ES学习笔记一(实现简单增删改查)

  • 对es索引,类型,文档,以及字段的理解(对比下关系型数据库)
    ES学习笔记一(实现简单增删改查)_第1张图片
  • 我们用index和create两种方式创建索引,比如创建一个员工的信息
    index创建索引:PUT megacorp/employee/1
    POST megacorp/employee/1
    {
    “user” : “Mike”
    }
    ES学习笔记一(实现简单增删改查)_第2张图片
    create创建索引:PUT megacorp/employee/1?op_type=create
    index和create创建索引的不同之处在于:index创建索引的时候,如果索引相同,那么对应的版本号会加1,是相当于把原来的索引覆盖掉,create如果创建相同的索引,会直接报错
    (create创建还有另一种写法:PUT megacorp/_create/1,这样创建的时候,如果最后的索引相同,也会报错,当时有个疑问,如果megacorp这个索引下面有两个类型,一个是employee1,和employee2,那这种创建方式是指定在那个类型下面的呢?创建第二个类型的时候报错
    ES学习笔记一(实现简单增删改查)_第3张图片百度之后说是:版本不允许一个index下面有多个type,并且官方说是在接下来的7.0版本中会删掉type),这个时候也解释了在之后的学习当中,7.0及以上的版本为什么所有的type官方规范为_doc的原因了,也就是说,创建文档的时候变成了PUT megacorp/_doc/1?op_type=create
  • 查询语法:比较简单的基本查询GET megacorp/_doc/3
  • 更新
    POST index_test/test01/3/ { "doc":{ "user" : "Jack" } }
  • 删除
DELETE megacorp/_doc/3
  • 批量操作_bulk
POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_id" : "2" } }
{ "create" : { "_index" : "test2", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }

分别是创建,删除操作,每个操作是互不影响的

  • 批量查找
GET /_mget
{
    "docs" : [
        {
            "_index" : "test",
            "_id" : "1"
        },
        {
            "_index" : "test",
            "_id" : "2"
        }
    ]
}

获取test中1和2的数据,运行结果:
ES学习笔记一(实现简单增删改查)_第4张图片

  • 清除数据
#清除数据
DELETE users
DELETE test
DELETE test2

你可能感兴趣的:(java日常,ES学习笔记)