您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
elasticSearch创建映射和添加数据(_bulk批处理)
发布时间:2021-08-18 20:54:49编辑:雪饮阅读()
Elasticsearch将根据请求体中提供的数据自动创建映射,我们将使用其批量功能在此索引中添加多个JSON对象。
POST http://localhost:9200/schools/_bulk
那么在postman中请求如:
这里的请求体:
{"index":{"_index":"schools", "_type":"school", "_id":"1"}}
{"name":"Central School", "description":"CBSE Affiliation", "street":"Nagan","city":"paprola", "state":"HP", "zip":"176115", "location":[31.8955385, 76.8380405],"fees":2000, "tags":["Senior Secondary", "beautiful campus"],"rating":"3.5"}
{"index":{"_index":"schools", "_type":"school", "_id":"2"}}
{"name":"Saint Paul School", "description":"ICSE Afiliation", "street":"Dawarka", "city":"Delhi", "state":"Delhi", "zip":"110075","location":[28.5733056, 77.0122136], "fees":5000,"tags":["Good Faculty", "Great Sports"], "rating":"4.5"}
{"index":{"_index":"schools", "_type":"school", "_id":"3"}}
{"name":"Crescent School", "description":"State Board Affiliation", "street":"Tonk Road", "city":"Jaipur", "state":"RJ", "zip":"176114","location":[26.8535922, 75.7923988],"fees":2500, "tags":["Well equipped labs"], "rating":"4.5"}
对于该请求体,这里有话说,如果这里使用了json美化之类的使得每行的json中格式化的很好看,例如有换行和缩进之类的,则该请求体就会报错json_e_o_f_exception类型的错误。
这是因为_bulk api对json语法有严格的要求,每个json串不能换行,只能放到一行,同时一个json串和一个json串之间必须要换行
像是这里请求体中最后那行json的后面仍然要追加一个换行符号
那么从这里批量添加时候我们可以看到规律是每个item都包含一个映射和具体的数据。
像是这里就是添加了school类型的文档添加了3条。并且是基于已经存在的schools索引下面进行创建的,那么现在就形成了schools索引=》school类型=》3篇文档。
也就是说这样的bulk批处理在创建数据的同时,映射也一并创建了,当然映射这里就是type,在这里就是school了,当然映射这里都是固定的,这里只创建了一个映射,那么这里批处理添加的这些文档的映射都是school了。
这里有强调schools是索引,school是映射/类型,别弄混了。
关键字词:elasticSearch,创建映射,添加数据,_bulk,bulk