第三百六十三节,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批量操作的更多相关文章

  1. 第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作、增、删、改、查

    第三百六十二节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)基本的索引和文档CRUD操作.增.删.改.查 elasticsearch(搜索引擎)基本的索引 ...

  2. 第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能

    第三百六十九节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索功能 Django实现搜索功能 1.在Django配置搜索结果页的路由映 ...

  3. 第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询

    第三百六十六节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的bool组合查询 bool查询说明 filter:[],字段的过滤,不参与打分must:[] ...

  4. 第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询

    第三百六十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本查询 1.elasticsearch(搜索引擎)的查询 elasticsearch是功能 ...

  5. 第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理

    第三百六十四节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的mapping映射管理 1.映射(mapping)介绍 映射:创建索引的时候,可以预先定义字 ...

  6. 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念

    第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念 elasticsearch的基本概念 1.集群:一个或者多个节点组织在一起 2.节点 ...

  7. 第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中

    第三百六十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)scrapy写入数据到elasticsearch中 前面我们讲到的elasticsearch( ...

  8. 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页

    第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time ...

  9. 第三百六十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引

    第三百六十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)倒排索引 倒排索引 倒排索引源于实际应用中需要根据属性的值来查找记录.这种索引表中的每一项都包 ...

随机推荐

  1. 【小白的CFD之旅】24 稳态和瞬态

    小白最近在练习案例的时候,对稳态和瞬态的问题,产生了一些疑问.譬如说,为什么有的案例用稳态,而有的案例用瞬态?有时候相同的案例既可以用稳态也可以用瞬态,而有的案例却只能用瞬态计算?小白决定找小牛师兄问 ...

  2. Why do people integrate Spark with TensorFlow even if there is a distributed TensorFlow framework?

    https://www.quora.com/Why-do-people-integrate-Spark-with-TensorFlow-even-if-there-is-a-distributed-T ...

  3. elasticsearch 索引延迟 一致性问题等

    https://www.elastic.co/guide/en/elasticsearch/guide/current/near-real-time.html https://www.elastic. ...

  4. 每日英语:China Destroys Six Tons of Confiscated Ivory

    BEIJING—Chinese government officials destroyed more than six tons of ivory that had been illegally s ...

  5. 【Spring】Spring Session的简单搭建与源码阅读

    搭建一个简单的Spring Session例子 引入依赖包 <dependencies> <dependency> <groupId>org.springframe ...

  6. Spark orderBy(desc("col"))部分数据排序失败

    起因 对数据进行三个维度的排序,用的是orderBy(desc("col")),结果其中两个维度上结果返回正确,另外一个维度上结果出现了大的排在后面的结果,错误的结果大概如下: w ...

  7. Android MediaPlayer接口及状态迁移

    [时间:2016-09] [状态:Open] [关键词:android,mediaplayer,播放接口,播放状态图] 引言 本文内容相对简单,作为后续处理的起点,简要整理了Android Media ...

  8. Spring Boot Application 事件和监听器

    https://www.cnblogs.com/fdzfd/p/7872909.html ***************************************************** 一 ...

  9. 【Python】TCP Socket的粘包和分包的处理

    Reference: http://blog.csdn.net/yannanxiu/article/details/52096465 概述 在进行TCP Socket开发时,都需要处理数据包粘包和分包 ...

  10. ASP.NET学习笔记(4)——上传图片

    说明(2017-10-8 23:03:43): 1. 后面的内容都是一些杂七杂八的,零零碎碎的,之前都直接略过了,不过其实还是挺重要的,这次重新学习要认认真真敲一遍. 2. 明天中午9号要回北京了,今 ...