第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作
第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作
注意:前面讲到的各种操作都是一次http请求操作一条数据,如果想要操作多条数据就会产生多次请求,所以就有了mget和bulk批量操作,mget和bulk批量操作是一次请求可以操作多条数据
1、mget批量操作(查询)
批量操作(同一个索引同一个表里的批量查询)
说明:
#mget批量操作(同一个表里的批量查询)
GET _mget
{
"docs":[
{
"_index":"索引名称",
"_type":"表名称",
"_id":id号
},
{
"_index":"索引名称",
"_type":"表名称",
"_id":id号
}
]
}
代码:
#mget批量操作(同一个表里的批量查询)
GET _mget
{
"docs":[
{
"_index":"jobbole",
"_type":"job",
"_id":1
},
{
"_index":"jobbole",
"_type":"job",
"_id":2
}
]
}

批量操作(同一个索引同一个表里的不同id批量查询)
#批量操作(同一个索引同一个表里的不同id批量查询)
GET jobbole/job/_mget
{
"ids":[1,2]
}
批量操作(同一个索引不同表里的批量查询)
#mget批量操作(同一个索引不同表里的批量查询)
GET jobbole/_mget
{
"docs":[
{
"_type":"job",
"_id":1
},
{
"_type":"job2",
"_id":1
}
]
}
批量操作(不同索引不同表里的批量查询,相当于数据库的组合查询)
#mget批量操作(不同索引不同表里的批量查询)
GET _mget
{
"docs":[
{
"_index":"jobbole",
"_type":"job",
"_id":1
},
{
"_index":"yuxiou",
"_type":"biao",
"_id":2
}
]
}

2、bulk批量操作(增删改)
批量导入可以合并多个操作,比如index,delete,update,create等等。也可以帮助从一个索引导入到另一个索引

bulk批量操作批量添加数据
说明:添加一条数据由两行代码实现,第一行设置添加数据的索引名称、表、id,第二行设置添加数据的字段和值
#_bulk批量添加数据
POST _bulk
#设置添加数据的索引名称、表、id
{"index":{"_index":"jobbole","_type":"job","_id":""}}
#设置添加数据的字段和值
{"title": "爬虫开发","salary_min": 15000,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}
#设置添加数据的索引名称、表、id
{"index":{"_index":"jobbole","_type":"job","_id":""}}
#设置添加数据的字段和值
{"title": "微信开发","salary_min": 15000,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}
代码:
POST _bulk
{"index":{"_index":"jobbole","_type":"job","_id":""}}
{"title": "爬虫开发","salary_min": 15000,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}
{"index":{"_index":"jobbole","_type":"job","_id":""}}
{"title": "微信开发","salary_min": 15000,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}

bulk批量操作批量创建数据(添加)
POST _bulk
{"create":{"_index":"jobbole","_type":"job","_id":""}}
{"title": "开发","salary_min": 100,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}
bulk批量操作批量删除数据
POST _bulk
{"delete":{"_index":"jobbole","_type":"job","_id":""}}
{"delete":{"_index":"jobbole","_type":"job","_id":""}}
bulk批量操作批量修改数据
POST _bulk
{"update":{"_index":"jobbole","_type":"job","_id":""}}
{"doc":{"title": "开发","salary_min": 100,"city": "北京","company": {"name": "百度","company_addr": "北京市软件园"},"publish_date": "2017-4-16","comments": 15}}
第三百六十三节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mget和bulk批量操作的更多相关文章
- 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查
第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作.增.删.改.查 elasticsearch(搜索引擎)基本的索引 ...
- 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能
第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能 Django实现搜索功能 1.在Django配置搜索结果页的路由映 ...
- 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询
第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询 bool查询说明 filter:[],字段的过滤,不参与打分must:[] ...
- 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询
第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...
- 第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理
第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理 1.映射(mapping)介绍 映射:创建索引的时候,可以预先定义字 ...
- 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念
第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念 elasticsearch的基本概念 1.集群:一个或者多个节点组织在一起 2.节点 ...
- 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中
第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中 前面我们讲到的elasticsearch( ...
- 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页
第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time ...
- 第三百六十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引
第三百六十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引 倒排索引 倒排索引源于实际应用中需要根据属性的值来查找记录.这种索引表中的每一项都包 ...
随机推荐
- dom4j: 用dom4j生成xml后第二行空行的问题
只需要指定: format.setNewLineAfterDeclaration(false); 即可. 例: OutputFormat format = OutputFormat.createPre ...
- 【Java Concurrency】sleep()、wait()、notify()、notifyAll()的用法与区别
>关于本文 本文介绍sleep().wait().notify().notifyAll()方法,主要要理解: sleep()和wait()的区别. wait()与notify().notifyA ...
- 前端js上传文件插件
1. plupload文件上传 2.ajaxfileupload文件上传
- Python(一)之Python概述
前言:最近学习Python基础,网上找了视频教程,本篇记录下Python概况,学习环境Python2.6. 学习Python首先得会获取Python自带的帮助信息,下面几个实用的内置函数,不管是工作或 ...
- linux输入子系统
linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:输入子系统事件处理层(EventHandler).输入子系统核心层(InputCore)和输入子系统设备驱 ...
- 综合出现NSScanner: nil string argument libc++abi.dylib: terminat错误的解决方案
在开发中出现了这个错误,断点查找很久,没找到问题所在的代码,google下,发现了下面这几点会产生这个错误: 首先,顾名思义,错误原因是我们在调用某个方法的时候,传入了一个空字符串(注意区别于字符串内 ...
- delphi调用webservice (.NET C#版)
uses XMLIntf, XMLDoc; XML to XTR文件转换 .File-->open打开你要分析的XML文件 .在左边选择你要分析的接点,双击加到中间的转换列表中 .Create- ...
- 基于jQuery自适应宽度跟高度可自定义焦点图
基于jQuery自适应宽度跟高度可自定义焦点图.这是一款带左右箭头,缩略小图切换的jQuery相册代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <section cl ...
- [转]jquery.validate.js表单验证
原文地址:https://www.cnblogs.com/si-shaohua/p/3780321.html 一.用前必备官方网站:http://bassistance.de/jquery-plugi ...
- 卡西欧(casio)Fx-5800p程序调试器||模拟器V1.0
一.[背景] 都说这个卡西欧5800p没有模拟器,模拟器其实就是个电脑上面模拟他的界面的东西,但是真正的核心,他不一定有,而且我们测量方面的编程及时有了所谓的外形模拟器也学不会的. 都说这个卡西欧58 ...