1.python链接ES:
from elasticsearch import Elasticsearch
self.es = Elasticsearch([{'host': "", 'port': }])
可以指定链接的ES的IP
2.ES插入数据:
2.1 插入单条数据
for i in range(10):
self.es.index(index="my-index", doc_type="test-type", body={"any": "data01", "timestamp": i})
2.2批量插入数据 [{},{}]
from elasticsearch import helpers
helpers.bulk(self.es, [{'_index':"my-index",'_type':'test-type'}, {}])
3.ES删除数据:
3.1 删除单条数据 指定id
self.es.delete(index='my-index', doc_type='test-type', id='jqcvIGsB6xO89rzf_sKP')
3.2 删除指定条件数据 批量删除
# 根据指定条件删除 查询条件必须符合DLS格式
query = {
# 查询语句
"query": {
'range': {'timestamp': {'lte': "2019-06-04T10:06:12.629748"}}
}
}
self.es.delete_by_query(index='my-index', doc_type='test-type', body=query)
4.ES更新数据:
ES不支持更新操作,具体更新操作底层实现的原理是: 删除原来索引的数据,插入新索引的数据。每一次更新,es的_version字段内容会递增。
4.1 依据id更新单条数据:
# 更新单条数据
doc = {
'doc': {'test': "哈哈哈",
'sdfs':"fdasfsdf"
}
}
self.es.update(index='my-index', doc_type='test-type', id="tqdHIGsB6xO89rzfnsIL", body=doc)