ElasticSearch索引库操作②(索引库CRUD,文档CRUD)
from datetime import datetime
from elasticsearch import Elasticsearch
# 连接ElasticSearch
es = Elasticsearch(hosts=["localhost:9200"])
# 创建索引(如果不存在)
index_name = 'test_index'
es.indices.create(index=index_name, ignore=400)
# 创建文档
doc_id = 'doc1'
doc = {
'name': 'John Doe',
'age': 30,
'birth_date': datetime.now(),
'about': 'I love to go rock climbing'
}
es.index(index=index_name, id=doc_id, document=doc)
# 获取文档
retrieved_doc = es.get(index=index_name, id=doc_id)
print(retrieved_doc['_source'])
# 更新文档
updated_doc = {
'name': 'Jane Doe',
'age': 25,
'birth_date': datetime.now(),
'about': 'I like to read mysteries'
}
es.update(index=index_name, id=doc_id, document=updated_doc)
# 删除文档
es.delete(index=index_name, id=doc_id)
# 删除索引
es.indices.delete(index=index_name, ignore=[400, 404])
这段代码展示了如何在ElasticSearch中进行基本的索引库和文档级操作,包括创建、获取、更新和删除。注意,在实际应用中,你可能需要处理像连接失败、索引已存在等异常情况,这些可以通过ElasticSearch的官方文档了解相应的错误代码和处理方法。
评论已关闭