Elasticsearch(5)ElasticSearch API

添加索引

// lib 是索引名称
PUT /lib/

{

	"settings":{
  
		"index":{
		// 设置分片数量
		"number_of_shards": 5,
		// 设置备份数量
		"number_of_replicas": 1
		
		}
	}
}

添加默认索引

// 在 elasticsearch 7.1.1 中默认分片数量是1,备份数量也是1.
PUT  lib

获取索引配置

查看指定索引:

GET /index_name/_settings

返回结果如下

{
  "lib2" : {
    "settings" : {
      "index" : {
        "creation_date" : "1561026584820",
        "number_of_shards" : "1",
        "number_of_replicas" : "1",
        "uuid" : "jYofi-2ZRd-r7SiLpeCLxw",
        "version" : {
          "created" : "7010199"
        },
        "provided_name" : "lib2"
      }
    }
  }
}

查看所有索引:

GET _all/_settings

添加文档

指定文档ID添加文档:
指定文档 ID 用 PUT 方式。

PUT /lib/user/1
{
	//字符串类型
    "first_name" :  "Jane",
    //字符串类型
    "last_name" :   "Smith",
    //数值类型
    "age" :         32,
    //字符串类型
    "about" :       "I like to collect rock albums",
    //数组类型
    "interests":  [ "music" ]
}

不指定文档ID添加文档:
指定文档 ID 用 POST 方式。

POST /lib/user/
{
    "first_name" :  "Douglas",
    
    "last_name" :   "Fir",
    
    "age" :         23,
    
    "about":        "I like to build cabinets",
    
    "interests":  [ "forestry" ]
    
}

查询文档

根据ID查询文档:

GET /lib/user/1

根据ID查询文档部分内容:

GET /lib/user/1?_source=age,interests

修改文档

覆盖文档进行更新:
该方式使用 PUT 进行更新。

PUT /lib/user/1
{
    "first_name" :  "Jane",
    
    "last_name" :   "Smith",
    
    "age" :         36,
    
    "about" :       "I like to collect rock albums",
    
    "interests":  [ "music" ]
}

字段直接更新:
该方式使用 POST 进行更新。

POST /lib/user/1/_update
{
  "doc":{
      "age":33    
      }
}

删除文档

DELETE /lib/user/1

批量获取

GET /_mget
{
   
    "docs":[
       
       {
           "_index": "lib",
           "_type": "user",
           "_id": 1,
           // 指定字段 非必须
           "_source": "interests"
       },
       {
           "_index": "lib",
           "_type": "user",
           "_id": 1,
           // 指定字段 非必须
           "_source": ["age","interests"]
       }
       
     ]
}

获取同索引同类型下的不同文档:

GET /lib/user/_mget
{
   
    "docs":[
       {
           "_id": 1
       },
       {
           "_type": "user",
           "_id": 2,
       }
     ]
}

GET /lib/user/_mget

{
   
   "ids": ["1","2"]
   
}

批量操作

bulk的格式:

{action:{metadata}}

{requstbody}
action:(行为)

create:文档不存在时创建

update:更新文档

index:创建新文档或替换已有文档

delete:删除一个文档

metadata:

_index,_type,_id

create 和index的区别

如果数据存在,使用create操作失败,会提示文档已经存在,使用index则可以成功执行。

示例:

批量删除

{"delete":{"_index":"lib","_type":"user","_id":"1"}}

批量添加

POST /lib2/books/_bulk

{"index":{"_id":1}}

{"title":"Java","price":55}

{"index":{"_id":2}}

{"title":"Html5","price":45}

{"index":{"_id":3}}

{"title":"Php","price":35}

{"index":{"_id":4}}

{"title":"Python","price":50}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值