python更新es数据_python操作es增删改查

1.查询(search)

# 获取案例库信息

@app.route('/get_dcn_cases', methods=['GET', 'POST'])

def get_dcn_cases():

# 告警事件数据

dcn_cases_query = {

"_source": {

"includes": ["faultName", "endTime", "startTime", "checked", "solution"],

},

"sort": {"timestamp": {"order": "desc"}},

"size": 9999

}

res = es.search(index='dcn-cases', body=dcn_cases_query)

res_hits = res['hits']['hits']

dcn_cases_data = []

for i in res_hits:

i['_source']['id'] = i['_id']

dcn_cases_data.append(i['_source'])

print("dcn_cases_data:", dcn_cases_data)

return jsonify({'dcn_cases_data': dcn_cases_data})

2.增加

# 新增案例库到es里面

from elasticsearch import helpers

@app.route('/add_case_to_es', methods=['GET', 'POST'])

def add_case_to_es():

# 获取前端传递的案例添加参数

case_data = request.get_json()

# 获取系统当前时间

t = time.time()

current_ts = int(round(t * 1000))

# 格式化我们能看懂的时间

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(current_ts / 1000)))

# 格式化es的可以看得懂的时间

print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime((current_ts / 1000) - 28800)))

case_data["timestamp"] = str(time.strftime('%Y-%m-%dT%H:%M:%S', time.localtime((current_ts / 1000) - 28800)))

case_data["type"] = "case"

app.logger.debug('case_data=%s', case_data)

bulks = []

_index = 'dcn-cases'

_type = 'doc'

bulks.append({

"_index": _index,

"_type": _type,

"_source": case_data

})

helpers.bulk(es, bulks)

# res_update = es.index(index='dcn-cases', doc_type='doc', body=case_data)

res_update = 1

return jsonify({'res_update': res_update})

3.删除(根据id来删除)(delete)

# 删除案例库里面的案例

@app.route('/del_case_to_es', methods=['GET', 'POST'])

def del_case_to_es():

# 获取前端传递的案例添加参数

del_id_data = request.get_json()

app.logger.debug('del_id_data=%s', del_id_data)

app.logger.debug('del_id_data=%s', del_id_data['del_id'])

res_del = es.delete(index='dcn-cases', doc_type='doc', id=del_id_data['del_id'])

return jsonify({'res_del': res_del})

4.修改(update)

# 修改案例库

@app.route('/update_case_to_es', methods=['GET', 'POST'])

def update_case_to_es():

# 获取前端传递的查询参数

case_data = request.get_json()

app.logger.debug('case_data=%s', case_data)

case_id = case_data['case_id']

# 移除字典中的id信息

del case_data['case_id']

res_update = es.update(index='dcn-cases', doc_type='doc', id=case_id, body={"doc": case_data})

print(res_update['_shards']['successful'])

return jsonify({'res_update': res_update})

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

angularJS 指令实践

AngularJS 指令(Directives)实践指南(1) 2014-03-12 10:22 陈鑫伟 编译 伯乐在线我要评论(0)字号:T|T一个指令用来引入新的HTML语法。指令是DOM元素上的标记,使元素拥有特定的行为。举例来说,静态的HTML不知道如何来创…

数据结构四双向链表

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。而之前的单链表为单向链表&#xf…

smtplib python教程_Python使用poplib模块和smtplib模块收发电子邮件的教程

poplib模块接收邮件python的poplib模块是用来从pop3收取邮件的,也可以说它是处理邮件的第一步。POP3协议并不复杂,它也是采用的一问一答式的方式,你向服务器发送一个命令,服务器必然会回复一个信息。pop3命令码如下:命…

C#发送电子邮件 (异步) z

///验证电子邮件的正则表达式 string emailStr "^([\w-\.])((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]\.)))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"; /// <summary> /// 异步发送电子邮件 /// </summary> /// <p…

Linux服务器的初步配置流程

开发网站的时候&#xff0c;常常需要自己配置Linux服务器。 本文记录配置Linux服务器的初步流程&#xff0c;也就是系统安装完成后&#xff0c;下一步要做的事情。这主要是我自己的总结和备忘&#xff0c;如果有遗漏&#xff0c;欢迎大家补充。 下面的操作针对Debian/Ubuntu系统…

C语言趣味程序百例精解

1.绘制余弦曲线 在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线 *问题分析与算法设计 如果在程序中使用数组&#xff0c;这个问题十分简单。但若规定不能使用数组&#xff0c;问题就变得不容易了。 关键在于余弦曲线在0~360度的区间内&#xff0c;一行中要显示两个点&#xf…

cocos2dx 圆盘抽奖_cocoscreator之微信小游戏的抽奖转盘

许多小游戏里面都有涉及到抽奖环节&#xff0c;所以就可能会用到抽奖转盘的制作&#xff0c;今天分享一个自己左转盘的小小过程。1、准备材料过程不多说&#xff0c;拼完界面之后大概是这样的&#xff1a;2、给界面绑定脚本&#xff0c;在脚本的properties里面绑定转盘节点&…

测试报告分析

测试分析报告 1&#xff0e;引言 1 1.1编写目的 1 1.2项目背景 1 1.3参考资料 2 2&#xff0e;测试计划执行情况 2 2.1测试项目 2 2.2测试机构和人员 3 2.3测试结果 3 3&#xff0e;软件需求测试结论 7 4&#xff0e;评价 7 4.1软件能力 7 4.2缺陷和限制 7 4.3建议 7 4.4测试结…

不要学习代码,要学会思考(转)

英文原文&#xff1a;Dont learn to code, learn to think 译/赖信涛 这是一个人人都在学习编程的时代&#xff1a;Code.org请了比尔盖茨&#xff0c;马克扎克伯格和克里斯波什等这些名人&#xff0c;来告诉你&#xff0c;每个人都可以编程&#xff1b;CoderDojo’s在各个国家悄…

python读取多个sheet文件_PythonPandas excel文件如何一次读取所有工作表,并再次写入多个工作表?,pythonpandasexcel,一次性,全部,sheet,重新...

关于如何一次性读取全部sheet&#xff0c;可看我之前写的一篇博客&#xff1b;本文重点讲述如何对同一个excel文件一次性写入多个sheet数据代码示例&#xff1a;import pandas as pdwriter pd.ExcelWriter("新数据.xlsx")sheet1Data [] # 这个为要向Sheet1写入的数…

stdin,stdout,stderr

我们在写C程序时经常遇到printf&#xff08;&#xff09;&#xff0c;fprintf&#xff08;&#xff09;&#xff0c;perror&#xff08;&#xff09;&#xff0c;这些东西到底有什么作用。说到这不得不提及stdin&#xff0c;stdout&#xff0c;stderr。想想&#xff0c;我们在用…

Hadoop的改进实验(中文分词词频统计及英文词频统计)(4/4)

声明&#xff1a; 1&#xff09;本文由我bitpeach原创撰写&#xff0c;转载时请注明出处&#xff0c;侵权必究。 2&#xff09;本小实验工作环境为Windows系统下的百度云&#xff08;联网&#xff09;&#xff0c;和Ubuntu系统的hadoop1-2-1&#xff08;自己提前配好&#xff0…

简单的日历小程序

一个可以查询1900年之后的所有年份当月月历。 import java.util.Scanner; public class Calendar {//输入年月输出当月日历public static void main(String[] args) {Scanner input new Scanner(System.in);System.out.println("请输入年份");int year input.nextI…

python龟图_python学习turtle(龟图标状态)

2019独角兽企业重金招聘Python工程师标准>>>记录学习turtle.hideturtle()turtle.ht()&#xff0c;隐藏龟图标。turtle.showturtle()turtle.st()&#xff0c;显示龟图标。turtle.isvisible()&#xff0c;龟是否显示。显示返回true&#xff0c;否则返回false。turtle.sh…

spring mvc相关问题

1&#xff1a; 基于注解的SpringMVC简单介绍 2&#xff1a; spring组件扫描<context:component-scan/>使用详解 3&#xff1a; springMvc 注解配置例子

C# - 创建List属性的简单方法

不用担心List没有创建问题。 private ObservableCollection<EquipmentItem> _optionalCollection;public ObservableCollection<EquipmentItem> OptionalCollection{get{if (this._optionalCollection null){this._optionalCollection new ObservableCollection&…

旋转函数_【视频课】:一次函数拓展应用(图象的平移、旋转、轴对称及5种解题方法)...

请点击上方“出彩数学”可以免费订阅哦停课不停学★ 特别关注&#xff1a;今日头条、西瓜视频——初三中考解题方法与技巧、初一、初二的同步讲解视频&#xff0c;正在陆续上传&#xff0c;请关注今天头条或西瓜视频(下载APP&#xff0c;搜索“出彩数学”&#xff0c;关注即可…

c语言中,关于延迟函数的理解

对于延迟&#xff0c;有些c基础的人都能够做到用for或while来实现 例如&#xff1a; #include <stdio.h>int main() {int i, j, k;for (i 1; i < 1000; i){for (j 1; j < 1000; j){for (k 1; k < 1000; k){}}}printf("hello\n");return 0; }1234…

static方法不能直接访问类内的非static变量和不能调用this,super语句分析

大家都知道在static方法中&#xff0c;不能访问类内非static成员变量和方法。可是原因是什么呢&#xff1f; 这首先要从static方法的特性说起。static方法&#xff0c;即类的静态成员经常被称为“成员变量”&#xff08;class members&#xff09;&#xff0c;对于静态成员变量…

C++ Qt 访问权限总结

总结&#xff1a;C的访问修饰符的作用是以类为单位&#xff0c;而不是以对象为单位。 通俗的讲&#xff0c;同类的对象间可以“互相访问”对方的数据成员&#xff0c;只不过访问途径不是直接访问. 步骤是&#xff1a;通过一个对象调用其public成员函数&#xff0c;此成员函数可…