用python的request调用elasticsearch接口bulk插入文档数据
以下是使用python的requests库调用elasticsearch接口,bulk插入文档数据的示例代码:
import json
import requests
# elasticsearch的url
url = "http://localhost:9200/my_index/_bulk"
# 准备要插入的文档数据,使用json格式
data = [
{"index": {"_id": "1"}},
{"title": "Python基础教程", "author": "张三", "content": "Python是一门非常流行的编程语言。"},
{"index": {"_id": "2"}},
{"title": "Java编程思想", "author": "李四", "content": "Java是一门非常强大的编程语言。"},
{"index": {"_id": "3"}},
{"title": "数据结构与算法分析", "author": "王五", "content": "学好数据结构和算法对编程非常有帮助。"}
]
# 将文档数据转换成elasticsearch的bulk格式
bulk_data = ""
for doc in data:
bulk_data += json.dumps(doc) + "\n"
# 发送POST请求插入文档数据
response = requests.post(url, data=bulk_data, headers={"Content-Type": "application/json"})
print(response.content)
在上面的代码中,首先定义了elasticsearch的url,然后准备要插入的文档数据,使用json格式表示。接着将文档数据转换成elasticsearch的bulk格式,即将每个文档转换成两个json对象,第一个对象指定了操作类型(这里是“index”),以及文档的id,第二个对象是要插入的文档数据。最后,使用requests库发送POST请求,将bulk格式的文档数据插入到elasticsearch中。
原文地址: https://www.cveoy.top/t/topic/bUf2 著作权归作者所有。请勿转载和采集!