更新记录
Python 操作 ElasticSearch 简明教程
· 2019-01-22 18:03:02
更新单条记录,代码如下:
# encoding:utf-8
#!/usr/bin/python
from elasticsearch import Elasticsearch
class ElasticObj:
def __init__(self, index_name, index_type, ip ="127.0.0.1"):
'''
:param index_name: 索引名称
:param index_type: 索引类型
'''
self.index_name =index_name
self.index_type = index_type
# 无用户名密码状态
self.es = Elasticsearch([ip])
#用户名密码状态
# self.es = Elasticsearch([ip],http_auth=('elastic', 'password'),port=9200)
'''
更新单条记录
'''
def Upate_Data_By_Id(self, id, data):
print self.es.update(index=self.index_name, doc_type=self.index_type, id=id, body=data)
if __name__ == "__main__":
obj =ElasticObj("test", "test_type", ip ="127.0.0.1")
obj.Upate_Data_By_Id(1, {"doc":{"title":"更新后的标题"}})
执行结果:
{u'_type': u'test_type', u'_seq_no': 1, u'_shards': {u'successful': 1, u'failed': 0, u'total': 2}, u'_index': u'test', u'_version': 2, u'_primary_term': 1, u'result': u'updated', u'_id': u'1'}
查看数据:
更新前:
[root@centos7php7 elasticsearch-6.4.2]# curl -X GET 'localhost:9200/test/test_type/1?pretty'
{
"_index" : "test",
"_type" : "test_type",
"_id" : "1",
"_version" : 1,
"found" : true,
"_source" : {
"url" : "https://www.codercto.com/courses/d/61.html",
"id" : 1,
"title" : "Eloquent: 入门"
}
}
更新后:
[root@centos7php7 elasticsearch-6.4.2]# curl -X GET 'localhost:9200/test/test_type/1?pretty'
{
"_index" : "test",
"_type" : "test_type",
"_id" : "1",
"_version" : 2,
"found" : true,
"_source" : {
"url" : "https://www.codercto.com/courses/d/61.html",
"id" : 1,
"title" : "更新后的标题"
}
}
点击查看所有 Python 操作 ElasticSearch 简明教程 文章: https://www.codercto.com/courses/l/6.html
哥德尔、艾舍尔、巴赫
[美] 侯世达 / 严勇、刘皓明、莫大伟 / 商务印书馆 / 1997-5 / 88.00元
集异璧-GEB,是数学家哥德尔、版画家艾舍尔、音乐家巴赫三个名字的前缀。《哥德尔、艾舍尔、巴赫书:集异璧之大成》是在英语世界中有极高评价的科普著作,曾获得普利策文学奖。它通过对哥德尔的数理逻辑,艾舍尔的版画和巴赫的音乐三者的综合阐述,引人入胜地介绍了数理逻辑学、可计算理论、人工智能学、语言学、遗传学、音乐、绘画的理论等方面,构思精巧、含义深刻、视野广阔、富于哲学韵味。 中译本前后费时十余年,......一起来看看 《哥德尔、艾舍尔、巴赫》 这本书的介绍吧!