python 将mongo数据根据name字段回填到es中
以下是将MongoDB中的数据根据name字段回填到Elasticsearch中的Python代码示例:
import pymongo
from elasticsearch import Elasticsearch
# 连接MongoDB数据库
mongo_client = pymongo.MongoClient("mongodb://localhost:27017/")
mongo_db = mongo_client["mydatabase"]
mongo_collection = mongo_db["mycollection"]
# 连接Elasticsearch数据库
es_client = Elasticsearch([{"host": "localhost", "port": 9200}])
# 查询MongoDB中的数据
mongo_data = mongo_collection.find()
# 循环遍历MongoDB中的数据,并将其回填到Elasticsearch中
for data in mongo_data:
es_doc = {
"name": data["name"],
"age": data["age"],
"country": data["country"]
}
es_client.index(index="myindex", doc_type="mytype", id=data["_id"], body=es_doc)
上述代码中,首先连接MongoDB和Elasticsearch数据库,并查询MongoDB中的数据。然后,循环遍历MongoDB中的数据,并将其回填到Elasticsearch中。在将数据回填到Elasticsearch时,需要指定Elasticsearch的索引名、文档类型和文档ID。在本例中,将索引名设置为myindex,文档类型设置为mytype,文档ID设置为MongoDB中的_id字段
原文地址: https://www.cveoy.top/t/topic/fqpe 著作权归作者所有。请勿转载和采集!