es 查询更新操作
# es 查询更新操作
# _*_ coding: utf-8 _*_
import time
import datetime
import pymysql
from elasticsearch import Elasticsearch
from urllib3.connectionpool import xrange # class EsClient(): es_host = "192.168.8.190"
port = 9200
timeout = 15000 global index
global CLIENT
index = "content-2019.12.30"
CLIENT = Elasticsearch(hosts=es_host,port=port,timeout=timeout) # 数据格式化
def get_page_data(result):
res = []
for hit in result['hits']['hits']:
# print(hit)
res.append({hit["_source"]["clientip"]: hit["_source"]["version"]})
print(res)
return res # 数据的分页操作
def load_all_data(scroll_id):
if scroll_id:
page = CLIENT.scroll(scroll_id=scroll_id, scroll='10m')
scroll_id = page['_scroll_id']
else:
page = CLIENT.search(index=index, scroll='10m', size=10000)
scroll_id = page['_scroll_id']
# print(page)
data = page["hits"]['hits']
total = page['hits']['total']['value']
print(len(data), total)
return {"data": data, "scroll_id": scroll_id, "length": len(data), "total": total} # 数据的查询操作 # 默认只给10000条数据
def query(body):
page = CLIENT.search(index=index, body=body)
data = page["hits"]['hits']
total = page['hits']['total']['value']
print(len(data), total)
return {"data": data, "length": len(data), "total": total} #update:更新指定index、type、id所对应的文档
#更新的主要点:
#1. 需要指定 id
#2. body={"doc": <xxxx>} , 这个doc是必须的
# es.update(index="my_index",doc_type="test_type",id=1,body={"doc":{"name":"python1","addr":"深圳1"}}) # 更新一条数据
def run_update_1():
print("开始修改")
body={"doc":{"site": "小武的测试站-+++++"}}
CLIENT.update(index='content-2019.12.30', id='y-O4nG8Bpdw5Z6bISieJ', body=body)
print("修改成功")
pass # 批量更新, 跟新满足条件的数据
def run_update_all():
print("开始修改")
query = {
"script": {"source": "ctx._source['site']='小武的测试站'" }, # 更新语句,将数据集合更改
'query': {'match': {'site': '生意地'}} # 查询语句,将满足条件的值进行筛选出来
}
CLIENT.update_by_query(index='content-2019.12.30', body=query)
print("修改成功")
pass if __name__ == "__main__":
run_update_all()
es 查询更新操作的更多相关文章
- python中的MySQL数据库操作 连接 插入 查询 更新 操作
MySQL数据库 就数据库而言,连接之后就要对其操作.但是,目前那个名字叫做qiwsirtest的数据仅仅是空架子,没有什么可操作的,要操作它,就必须在里面建立“表”,什么是数据库的表呢?下面摘抄自维 ...
- Mysql中实现多表关联查询更新操作
今天一下要记录一下才行了,每次都要去网上查找方法,每次都难找得要命 Mysql在更新某些字段的数据时,有时候会依据其他表的数据进行更新,需要通过关联后对不同的行更新不同的值,传统的update set ...
- MongoDB查询修改操作语句命令大全
MongoDB查询更新操作语句命令大全 查询操作 1.条件操作符 <, <=, >, >= 这个操作符就不用多解释了,最常用也是最简单的db.collection.find({ ...
- Django ORM (三) 查询,删除,更新操作
ORM 查询操作 修改 views.py 文件 from django.shortcuts import render, HttpResponse from app01 import models f ...
- C#通过SqlConnection连接查询更新等操作Sqlserver数据库
Sqlserver数据库连接方式有多种,这里只介绍最常用的通过SqlConnection和Sqlserver数据库用户名和密码验证来进行操作数据库. 数据库连接字符串: string connStri ...
- es之对文档进行更新操作
5.7.1:更新整个文档 ES中并不存在所谓的更新操作,而是用新文档替换旧文档: 在内部,Elasticsearch已经标记旧文档为删除并添加了一个完整的新文档并建立索引.旧版本文档不会立即消失 ,但 ...
- Django ORM中的查询,删除,更新操作
ORM查询操作 修改views.py文件 from django.shortcuts import render, HttpResponse from app01 import models from ...
- Es查询结果集默认是10000,更新设置
Es查询结果集默认是10000,结果集大小是int,最大为21亿左右 PUT _all/_settings?preserve_existing=true { "index.max_resul ...
- 【ELK】4.spring boot 2.X集成ES spring-data-ES 进行CRUD操作 完整版+kibana管理ES的index操作
spring boot 2.X集成ES 进行CRUD操作 完整版 内容包括: ============================================================ ...
随机推荐
- k8s 运行单实例 mysql
配置文件mysql.yaml --- apiVersion: v1 kind: Service metadata: name: mysql-01 spec: ports: - port: 3306 s ...
- 【项目管理】关于Issue/Milestone的使用指导
b[red] { color: rgba(255, 0, 0, 1) } 前言 本指导内容主要基于: 和邹欣老师的语音交流结论 邹欣老师<构建之法>的相关章节内容 现有开源项目在类似情况下 ...
- vue中利用.env文件存储全局环境变量,以及配置vue启动和打包命令
目录 1,前言 2,.env文件的作用 3,配置.env文件 4,配置启动命令 5,获取.env中的全局变量 5,实际用处 1,前言 分享一下vue项目中利用.env文件存储全局环境变量,以及利于项目 ...
- src/众测篇:oracle注入过滤-- , + - * /,case when ,select,from,decode等函数如何证明是注入?
(1)nullif: NULLIF:如果exp1和exp2相等则返回空(NULL),否则返回第一个值 真: 假: (2)nvl/nvl2 测试失败无法实现:)记录 (3)如果是oracle报错注入 ...
- [C#] NAudio 库的各种常用使用方式: 播放 录制 转码 音频可视化
概述 在 NAudio 中, 常用类型有 WaveIn, WaveOut, WaveStream, WaveFileWriter, WaveFileReader 以及接口: IWaveProvider ...
- 1.6.1- HTML中ul元素无序列表的使用
无序列表的各个列表项之间没有顺序级别之分,是并列的,语法如下: <ul> <li>列表项1</li> <li>列表项2</li> <l ...
- URL中字符的含义
目录 URL中的特殊字符 #号的作用 URL中的特殊字符 我们经常会看到URL中有一些特殊的字符,比如 #,?,& ,/ ,+ 等.那么,它们的含义是什么呢? 特殊含义 十六进制 + 表示空格 ...
- 2 IDEA——新建一个java项目
快捷键 public class Hello { // psvm public static void main(String[] args) { // sout System.out.println ...
- CDN 加速配置
1 https://cloud.tencent.com/document/product/228/3149 2 https://cloud.tencent.com/document/product/4 ...
- 【c#】 使用Directory.GetFiles获取局域网中任意电脑指定文件夹下的文件
本文为老魏原创,如需转载请留言 格式如下: // 获取IP地址为10.172.10.167下D盘下railway下的所有文件 string[] picArray = Directory.GetFile ...