文档章节

ElasticSearch04批量操作

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:18
字数 392
阅读 2
收藏 0

读取多份文档

显式声明索引名称和文档类型

from elasticsearch import Elasticsearch
from pprint import pprint

es = Elasticsearch(hosts=["192.168.1.132"])

# 根据索引名称、类型名称来获取多个文档
s = es.mget(
    index="megacorp",
    doc_type="employee",
    body={
        "docs": [
            {"_id": 1},
            {"_id": 2},
            {"_id": 3},
            {"_id": 4},
            {"_id": 5},
        ]
    }
)
pprint(s)

在body中声明索引名称和文档类型

from elasticsearch import Elasticsearch
from pprint import pprint

es = Elasticsearch(hosts=["192.168.1.132"])

s = es.mget(
    body={
        "docs": [
            {"_index": "megacorp", "_type": "employee", "_id": 1},
            {"_index": "megacorp", "_type": "employee", "_id": 2},
            {"_index": "megacorp", "_type": "employee", "_id": 3},
            {"_index": "website", "_type": "blog", "_id": 1},
            {"_index": "website", "_type": "blog", "_id": 2},
            {"_index": "website", "_type": "blog", "_id": 3},
            {"_index": "website", "_type": "blog", "_id": 4},
            {"_index": "website", "_type": "blog", "_id": 5},
            {"_index": "website", "_type": "blog", "_id": 6},
            {"_index": "website", "_type": "blog", "_id": 7},
        ]
    }
)

pprint(s)

 
 

写入多分文档

es.bulk

from elasticsearch import Elasticsearch
from elasticsearch import helpers
from datetime import datetime
from pprint import pprint

es = Elasticsearch(hosts=["192.168.1.132"])

s = es.bulk(
    index="website",
    doc_type="blog",
    body=[
        # {action: metadata}
        {"create": {"_id": 8}},
        # {request body}
        {
            "title": "created using es.bulk",
            "date": datetime.now().strftime("%Y/%m/%d %H:%M:%S"),
            "text": "try to write a doc to es"
        },
        # {action: metadata}        
        {"create": {"_id": 19}},
        # {request body}
        {
            "title": "created using es.bulk",
            "date": datetime.now().strftime("%Y/%m/%d %H:%M:%S"),
            "text": "try to write a doc to es"
        }
    ]
)

helps.bulk

from elasticsearch import Elasticsearch
from elasticsearch import helpers
from datetime import datetime
from pprint import pprint

es = Elasticsearch(hosts=["192.168.1.132"])

s = helpers.bulk(
    client=es,
    actions=[
        {
            # 备注: _op_type 默认采用的是index.
            # index和create的区别在于, index表示重建索引, version会自动+1, 而
            # create则表示创建, 当数据已存在时, 会报错.
            "_op_type": "index",  # create, delete, index, update
            "_index": "website",
            "_type": "blog",
            "_id": 11,
            "_source": {
                "title": "created using helpers.bulk",
                "date": datetime.now().strftime("%Y/%m/%d %H:%M:%S"),
                "text": "try to write a doc to es"
            }
        },
        {
            "_op_type": "index",
            "_index": "website",
            "_type": "blog",
            "_id": 12,
            "_source": {
                "title": "created using helpers.bulk",
                "date": datetime.now().strftime("%Y/%m/%d %H:%M:%S"),
                "text": "try to write a doc to es"
            }
        }
    ]
)

本文转载自:http://www.jianshu.com/p/e12dbd715d25

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
优雅的使用pt-archiver进行数据归档

作者简介:蓝剑锋 TCL高级DBA,MySQL&Oracle OCP,负责数据库架构设计、数据库自动化运维平台。微信:lanjian106103,个人公众号:DBARUN 一. 引言 最近由于业务需求,需要将公有云RDS(业务...

ACMUG
01/09
0
0
mysql批量提交的优化

.背景 用户修改布局时,需要批量更新mysql的xxxxlayoutxxxx表。批量操作的数据量是2-30条/次。批量操作是这次项目在技术上比较关键的一个点,之前批量操作做过性能上的测试,mysql端问题不大...

天天顺利
2015/10/14
524
0
EF架构~性能高效的批量操作(Update篇)

很多时间之长,我写了EF架构~性能高效的批量操作(Insert篇),而今天我把Update篇也写一下,这对于批量处理数据很有帮助,它解决了EF与linq to sql批量更新数据上的效率问题。 对于EF架构中的...

mcy247
2017/12/06
0
0
优雅地使用pt-archiver进行数据归档

mysql 日志 公有云 test charset uuid source statistics 摘要: 一、引言 最近由于业务需求,需要将公有云RDS(业务库)的大表数据归档至私有云MySQL(历史库),以缩减公有云RDS的体积和成...

姬子玉
2017/11/30
0
0
群控代理、2016年很火的云豹群控代理

随着各大企业的不断壮大,对信息化及市场营销的要求越来越迫切,同时又希望大幅降低实施信息化和市场营销过程中所需的人力物力成本,吸引更多精准客户群体,云豹手机群控系统由此应运而生。 ...

yunbao123
2016/12/05
22
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring详解

Spring详解(一)------概述 目录 1、什么是 Spring ? 2、Spring 起源 3、Spring 特点 4、Spring 框架结构 5、Spring 框架特征 6、Spring 优点   本系列教程我们将对 Spring 进行详解的介绍...

DemonsI
15分钟前
0
0
CentOS7系统Nginx安装

1、下载nginx,官方网站https://nginx.org wget https://nginx.org/download/nginx-1.14.0.tar.gz 2、下载Nginx Sticky Module,官方网站https://bitbucket.org/nginx-goodies/nginx-sticky-......

m_lm
18分钟前
0
0
使用zTree树控件(二)

1:treeNode.checked用于判断是勾选还是取消勾选。(treeNode指的是节点)

uug
18分钟前
0
0
export, import 和 export default的区别

ES6的两个功能: export 和 import export 对外输出模块 import 引入(加载)进来一个模块 一、export => import 单个变量 export var name = "lishi" 在其他文件里引用 import {name} f...

Js_Mei
23分钟前
1
0
打造RecyclerView的n级列表

先上效果图: 1.该多级列表的优势: 支持无限级列表展开 基于一个recyclerView实现 可以自定义每一级item的样式,定制化更强 2.设计的思路 数据结构List<ItemBean>,ItemBean类中有变量List<...

WelliJohn
32分钟前
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部