_id随机的 es_es 的数据操作

一、ES数据的操作

1.创建索引

1)语法

PUT /

2)示例

PUT /index

curl -XPUT 'http://10.0.0.71:9200/index'

2.创建数据

1)数据结构

ES存储三个必要构成

_index

_type

_id

构成

说明

_index

索引(数据存储的地方)

_type

类型(数据对应类)

_id

数据的唯一标识

2)语法

PUT //_doc/<_id>

POST //_doc/

PUT //_create/<_id>

POST //_create/<_id>

index:索引的名称,如果索引不存在,会自动创建

_doc:类型

_id:唯一标识,可以手动指定,也可以自动生成

3)使用自定义ID插入数据

PUT /index/_doc/1

{

"name":"qiudao",

"age":"18"

}

#该方式企业应用较少

1.需要修改id的值

2.指定ID插入数据时,ES会先拿着指定的id去对比一遍所有数据,看看有没有相同值

4)使用随机ID插入数据

POST /index/_doc/

{

"name":"qiudao",

"age":"20"

}

5)添加字段指定ID

POST /index/_doc/

{

"id":"1",

"name":"qiudao",

"age":"20"

}

3.查询数据

1)简单查询

#查询所有索引的(信息)

GET /_all

GET _all

#查看所有索引的(数据)

GET /_all/_search

#查看指定索引的信息

GET /teacher

#查看指定索引的数据

GET /teacher/_search

#查看索引中指定的数据

GET /teacher/user/2

GET /teacher/user/1m-gGHYB5ia7o7wd9dPk

2)单条件查询

1>方法一:

GET /teacher/_search

{

"query": {

"term": {

"age": {

"value": "18"

}

}

}

}

2>方法二:

GET /teacher/_search

{

"query": {

"term": {

"age": "18"

}

}

}

3>方法三:

GET /teacher/_search

{

"query": {

"match": {

"age": "18"

}

}

}

#指定条件可以使用term也可以使用match,term搜索数据时不进行分词,适合进行精确查找,match搜索时进行分词适用于全文检索

3)多条件查询

1>must查询(and)

#多个查询条件必须全部满足 &

GET /teacher/_search

{

"query": {

"bool": {

"must": [

{

"term": {

"age": {

"value": "18"

}

}

},

{

"term": {

"sex": {

"value": "nv"

}

}

}

]

}

}

}

2>filter查询(and)

#跟must作用一样,但是速度要比must快一点

GET /teacher/_search

{

"query": {

"bool": {

"filter": [

{

"term": {

"age":"18"

}

},

{

"term": {

"sex":"nv"

}

}

]

}

}

}

3>should查询(or)

#多条件查询时,符合其中一个条件就可以 |

GET /teacher/_search

{

"query": {

"bool": {

"should": [

{

"term": {

"age": {

"value": "18"

}

}

},

{

"term": {

"id": {

"value": "5"

}

}

}

]

}

}

}

4)must_not(not)

GET /teacher/_search

{

"query": {

"bool": {

"must_not": [

{

"term": {

"age": {

"value": "18"

}

}

},

{

"term": {

"id": {

"value": "5"

}

}

}

]

}

}

}

5)must和should结合使用

#查询年龄是21或者年龄是18岁并且名字是lizhenglin的数据

GET /teacher/_search

{

"query": {

"bool": {

"should": [

{

"term": {

"age": {

"value": "21"

}

}

},

{

"bool": {

"must": [

{

"term": {

"age": {

"value": "18"

}

}

},

{

"term": {

"name": {

"value": "lizhenglin"

}

}

}

]

}

}

]

}

}

}

4.修改数据

#修改数据通过_id进行修改,修改数据是,除了要修改的字段意外,其他的字段也要全部写上

PUT /teacher/user/9G-FHXYB5ia7o7wdEdOH

{

"id":"6",

"name":"wananfeng",

"sex":"nan",

"age":"25"

}

5.删除数据

#删除指定数据,通过_id进行选择删除

DELETE /teacher/user/9G-FHXYB5ia7o7wdEdOH

#删除索引

DELETE /teacher

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值