#
-*- coding: utf-8 -*-
"""
@Time :2020/06/04
@Author :Mr.Yang
@File :ElasticSearch_operations.py
@Software :PyCharm
@Description:对ES进行查询,按时间戳删除操作,后续增加写入操作
"""
import
time
import
datetime
import
json
import
sys
from elasticsearch import Elasticsearch
"""当前时间及时间戳转换"""Time = time.strftime(‘%Y-%m-%d %H:%M:%S‘,time.localtime(time.time()))
"""当前时间计算"""
now_time = datetime.date.today()
"""当前时间的前一个月"""
last_time = datetime.datetime.now() - datetime.timedelta(days = 30)
"""字符格式类型转换"""
now_time = last_time.strftime("%Y-%m-%d %H:%M:%S")
"""换算时间戳为毫秒级"""
mtime = (int(time.mktime(last_time.timetuple())) * 1000)"""ES连接配置"""
es_host = [‘域名‘, ‘域名‘, ‘域名‘]#可写入域名或IP
es = Elasticsearch(hosts=es_host,port=9200)#上一步写IP,此处加入port
"""ES查询修改下列参数"""
index_name = "cn_qlibobject"
id = "mUMdVHIBJYEnkK7W9DzK"def es_query(index_name,id):
"""查询转换为json格式"""
res = es.get(index=index_name,id=id)
print json.dumps(res, sort_keys=True, indent=4, separators=(‘, ‘, ‘: ‘))
def es_del():
"""小于时间戳的数据删除"""
body = {
"query":{
"range":{
"updateTime": {
"lte": mtime
}
}
}
}
res = es.search(index=index_name,body=body)
#print json.dumps(res, sort_keys=True, indent=4, separators=(‘, ‘, ‘: ‘))
es.delete_by_query(index=index_name,body=body)
#"""创建索引"""
#try:
# result = es.indices.create(index=‘ceshi‘)
# print result
#except Exception as err:
# print err
# #es.count(index="cn_qlibobject",doc_type="_doc")
#
#"""单条数据写入"""
#data = {"updateTime":"1583241764000"}
#res = es.index(index=index_name,doc_type="_doc",body=data)
#print resif sys.argv[1] == "query":
es_query(index_name, id)#
elif sys.argv[1] == "del":
es_del()
else:
print"请正确输入参数(query(查询)或del(删除))"
原文:https://www.cnblogs.com/Huang-Niu/p/13049746.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!