Elasticsearch 7 - 入门

Elasticsearch 7 - 入门

目录

索引操作

映射操作

 文档操作

文档查询

乐观锁 


索引操作

  • 索引可以理解为关系型数据库中的“表”

创建索引

PUT    http://192.168.213.154:9200/index

{
    "settings":{
        "index":{
            "number_of_shards":"3",
            "number_of_replicas":"0"
        }
    }
}

查看索引

GET    http://192.168.213.154:9200/_cat/indices?v

删除索引

DELETE    http://192.168.213.154:9200/index

映射操作

  • 映射可以理解为关系型数据库中的“字段属性”(date、int、varchar等)
  • 只有已经存在的索引才可以创建映射关系,而且只可以创建一次不可以修改

创建索引并同时创建映射关系

  • 主要数据类型
    • text:可以被分词
    • keyword:不能被分词,整体就是一个所有命中点
    • long、integar、shot、bytedouble、float、boolean、date、object
    • 数组内部数据类型必须一致
    • string
PUT    http://192.168.213.154:9200/index_test_2

{
    "mappings":{
        "properties":{
            "details":{
                "type":"text"
            },
            "username":{
                "type":"keyword",
                "index":false
            }
        }
    }
}

为已经存在的索引创建映射关系

POST    http://192.168.213.154:9200/index_test_1/_mappings

{
    "properties":{
         "details":{
             "type":"text"
         },
         "username":{
                "type":"keyword",
                "index":false
         }
    }
}

 文档操作

  • 插入
    • 文档可以理解为关系型数据库中的“行”数据
    • 如果插入的文档是空索引,没有映射关系,或者某个字段没有对应的映射关系都会自动创建映射关系
    • 字符串长度默认256,超出会被忽略
  • 更新
    • 每次更新后_version都会累加

插入操作

{
   "id":1001,
   "details":"Is a good man",
   "name":"陈某某"
}

---------------------------------------------------------------------------

{
   "id":1002,
   "details":"Is a great woman",
   "name":"孟某某"
}

指定更新

POST    http://192.168.213.154:9200/index_test/_doc/1001/_update

{
    "doc":{
        "id":1003,
    "details":"我只修改它"
    }
}

全部更新

POST    http://192.168.213.154:9200/index_test/_doc/1001

{
    "details":"只剩下我了"
}

------------------------------------------------------------------

PUT    http://192.168.213.154:9200/index_test/_doc/1001

{
    "details":"又剩下我了"
}

删除文档

DELETE    http://192.168.213.154:9200/index_test/_doc/1001

文档查询

QueryString

# 查询所有数据,不区分索引
GET    http://192.168.213.154:9200/_search

# 查询index_test_1索引下所有数据
GET    http://192.168.213.154:9200/index_test_1/_search
GET    http://192.168.213.154:9200/index_test_1/_doc/_search

# 查询单条数据
GET    http://192.168.213.154:9200/index_test/_doc/1001

# _source用于定义返回结果
GET    http://192.168.213.154:9200/index_test_1/_doc/_search?_source=id,name

# HEAD 查询只用于判断要查询的数据是否存在
HEAD    http://192.168.213.154:9200/index_test_1/_doc/1002

乐观锁 

  • ES进行事务操作时,URI拼接?if_seq_no={数值}&if_primary_term={数值}可以对当前操作进行乐观锁判断,如果if_seq_noif_primary_term值与提交值一致方可修改

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值