在前面的演示中,我们都是基于一次http查询,每次查询都要建立http的三次握手请求,这样比较耗费性能!因此ES给我们提供了基本的批量查询功能,例如如下的查询,注意里面的index是可以任意指明的,不需要都一致

【01】批量查询之_mget操作,如下查询表示指定同时查询索引testdb下的两个type(job1和job2)里面的数据:注意我们可以在这里指定不同的索引,例如testdb1,testdb2;另外这里要指定doc关键词,表示我查询的是一个文档:

【02】查询同一个index下面不同type的数据,我们直接在url地址中先指明index为testdb,然后在里面就不用指明了:

【03】如果连type都是一样的,那就只需要查询id了,依然不要忘记使用doc关键词

我们还可以基于上面的情形继续简写,下面这种写法就更加简便了

需要注意的是:上面使用docs指定时,它对应的value是一个数组,数组里面的每个元素都是字典。

【04】ES的bulk批量操作 来看看网络上的一张截图:

相当于就是使用了元数据来完成数据的批量导入,每导入一条数据,由两行构成,一条是元信息,另一条是数据行,来看看笔者实际的例子:

注意上面的数据格式一定要做成一行,不要优化成json数据格式

示例1:使用POST来完成bulk操作演示:蓝色的为元数据信息:

{"index":{"_index": "lagou", "_type": "job", "_id":"1"}}
{"title": "python爬虫开发工程师","salary_min": ,"city": "北京","company":{"name": "百度","company_adr": "北京市软件园3栋"},"publish_date": "2017-4-16","comments":}
{"index":{"_index": "lagou", "_type": "job2", "_id":"2"}}
{"title": "python django开发工程师","salary_min": ,"city": "成都","company":{"name": "","company_adr": "杭州软件园3栋"},"publish_date": "2017-4-16","comments":}

运行截图如下所示:记住在上面使用POST _bulk

 我们去head插件中看看,可以看到它自动为我们创建了所以index,而且还插入了两条数据:

注意事项:

关于bulk操作的解说:
.第一行是操作,例如index操作,后面的value是元数据,指明index操作是针对哪个索引,哪个type,哪个id进行的;
.第二行才是数据 但是要注意的是delete操作只有一行数据,因为只需要提供一个id即可 下面的create操作和update操作都是两行数据。

示例如下:

ElasticSearch基础之批量操作(mget+mbulk)的更多相关文章

  1. ELK(elasticsearch+kibana+logstash)搜索引擎(二): elasticsearch基础教程

    1.elasticsearch的结构 首先elasticsearch目前的结构为 /index/type/id  id对应的就是存储的文档ID,elasticsearch一般将数据以JSON格式存储. ...

  2. Elasticsearch 基础入门

    原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...

  3. ElasticSearch 基础 1

    ElasticSearch 基础=============================== 索引创建 ========================== 1. RESTFUL APIAPI 基本 ...

  4. Elasticsearch基础但非常有用的功能之二:模板

    文章转载自: https://mp.weixin.qq.com/s?__biz=MzI2NDY1MTA3OQ==&mid=2247484584&idx=1&sn=accfb65 ...

  5. elasticsearch 基础 —— _mget取回多个文档及_bulk批量操作

    取回多个文档 Elasticsearch 的速度已经很快了,但甚至能更快. 将多个请求合并成一个,避免单独处理每个请求花费的网络延时和开销. 如果你需要从 Elasticsearch 检索很多文档,那 ...

  6. elasticsearch 基础 —— 分布式文档存储原理

    路由一个文档到一个分片中 当索引一个文档的时候,文档会被存储到一个主分片中. Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片  ...

  7. 最完整的Elasticsearch 基础教程

    翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT)        Ela ...

  8. ELK 之一:ElasticSearch 基础和集群搭建

    一:需求及基础: 场景: 1.开发人员不能登录线上服务器查看详细日志 2.各个系统都有日志,日志数据分散难以查找 3.日志数据量大,查询速度慢,或者数据不够实时 4.一个调用会涉及到多个系统,难以在这 ...

  9. Elasticsearch基础教程

    Reference: http://blog.csdn.net/cnweike/article/details/33736429 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概 ...

随机推荐

  1. 剖析CPU温度监控技术

    转载 :剖析CPU温度监控技术   标签: CPU 温度控制技术 1805 具体温度检测调整代码(转载)        迄今为止还没有一种cpu散热系统能保证永不失效.失去了散热系统保护伞的“芯”,往 ...

  2. Server.xml配置详解

    <Server port="8005" shutdown="SHUTDOWN"> <!-- 属性说明 port:指定一个端口,这个端口负责监听 ...

  3. 九度OJ 1100:最短路径 (最短路径)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4185 解决:619 题目描述: N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的 ...

  4. a REST API

    https://spring.io/guides/tutorials/bookmarks/ http://roy.gbiv.com/untangled/2008/rest-apis-must-be-h ...

  5. 初学php html javascript后小总结

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/c3568/article/details/30474015 转载请注明出处:http://blog. ...

  6. ubuntu下配置rails环境遇到的错误

    1.Could not find gem 'sqlite3 (>= 0)' in any of the gem sources listed in your Gemfile 解决:sudo ge ...

  7. Perl 正则表达式语法

    1. 概要 Perl正则表达式是Boost.regex 默认行为,也可以将perl传入basic_regex 构造. boost::regex  e1(my_expression); boost::r ...

  8. Tomcat Session Clustering

    搭建 Tomcat 集群需要解决很多的问题,其中之一就是要解决 Session 共享问题.小规模集群可以使用 Tomcat 提供的 Session Clustering 来解决. For the im ...

  9. html标签默认属性值之margin;padding值

    一.h1~h6标签:有默认margin(top,bottom且相同)值,没有默认padding值. 在chrome中:16,15,14,16,17,19; 在firefox中:16,15,14,16, ...

  10. HDU2049 不容易系列之(4)考新郎 —— 错排

    题目链接:https://vjudge.net/problem/HDU-2049 不容易系列之(4)——考新郎 Time Limit: 2000/1000 MS (Java/Others)    Me ...