Elasticsearch怎么批量操作数据

一、批量增加

POST _bulk
{
    
     "index": {
    
    "_index": "test","_id": "1" }}
{
    
     "info": "学生1的信息","name":"学生1" }
{
    
     "index": {
    
    "_index": "test","_id": "2" }}
{
    
     "info": "学生2的信息","name":"学生2" }

注意; 1.批量增加的_bulk前不要带“/”
2.第一个JSON对象是“index”的元数据(一个文档的标识)第二个JSO对象是文档数据 ,并且这两个对象要连续。
3.json对象之间不要为了格式分明换行,负责会出错。也就是不要如下:
在这里插入图片描述
4.这里的第一个JSON对象的"index"索引也可以换成“create” ,但如果换的话,不存在才能增加成功,存在的话就增加失败(相当于sql的insert关键字)。不换第一个JSON对象用"index",不存在就增加,存在的话就替换修改对应数据(相当于sql的replace关键字)

POST _bulk
{
    
     "create": {
    
    "_index": "test","_id": "1" }}
{
    
     "info": "学生1的信息","name":"学生1" }
{
    
     "create": {
    
    "_index": "test","_id": "2" }}
{
    
     "info": "学生2的信息","name":"学生2" }

二、批量修改

方法1

POST _bulk
{
    
     "index": {
    
    "_index": "test","_id": "1" }}
{
    
     "info": "学生1的信息144","name":"学生1" }
{
    
     "index": {
    
    "_index": "test","_id": "2" }}
{
    
     "info": "学生2的信息244","name":"学生2" }

方法2

POST _bulk
{
    
     "index": {
    
    "_index": "test","_id": "1" }}
{
    
    "doc": {
    
     "info": "学生1的信息166","name":"学生1" }}
{
    
     "index": {
    
    "_index": "test","_id": "2" }}
{
    
    "doc":{
    
     "info": "学生2的信息266","name":"学生2" }}

三、批量删除

POST _bulk
{
    
     "delete": {
    
    "_index": "test","_id": "1" }}
{
    
     "delete": {
    
    "_index": "test","_id": "2" }}

另外查看:

GET /test/_doc/1

猜你喜欢

转载自blog.csdn.net/pursuedream6/article/details/140163162