Indexer Mongodb dans ES en temps réel

J'ai essayé de créer un template mapping comme suit :
est-ce la bonne manière ?

{
	"mappings": {
		"trips": {
			"properties": {
				"distance": {
					"type": "float"
				},
				"driver_id": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				},
				"driver_name": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				},
				"end": {
					"properties": {
						"address": {
							"properties": {
								"city": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"country": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"name": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"zipcode": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								}
							}
						},
						"in": {
							"properties": {
								"coordinates": {
									"type": "geo_point"
								},
								"name": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								}
							}
						},
						"place_name": {
							"type": "text",
							"fields": {
								"keyword": {
									"type": "keyword",
									"ignore_above": 256
								}
							}
						},
						"stop": {
							"properties": {
								"duration": {
									"type": "long"
								},
								"ended_at": {
									"type": "date"
								},
								"idling": {
									"type": "long"
								},
								"idling_duration": {
									"type": "long"
								},
								"started_at": {
									"type": "date"
								}
							}
						}
					}
				},
				"ended_at": {
					"type": "date"
				},
				"fleet_id": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				},
				"organization_id": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				},
				"start": {
					"properties": {
						"address": {
							"properties": {
								"city": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"country": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"name": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"street": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								},
								"zipcode": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								}
							}
						},
						"in": {
							"properties": {
								"coordinates": {
									"type": "geo_point"
								},
								"name": {
									"type": "text",
									"fields": {
										"keyword": {
											"type": "keyword",
											"ignore_above": 256
										}
									}
								}
							}
						},
						"place_id": {
							"type": "text",
							"fields": {
								"keyword": {
									"type": "keyword",
									"ignore_above": 256
								}
							}
						},
						"place_name": {
							"type": "text",
							"fields": {
								"keyword": {
									"type": "keyword",
									"ignore_above": 256
								}
							}
						},
						"stop": {
							"properties": {
								"duration": {
									"type": "long"
								},
								"ended_at": {
									"type": "date"
								},
								"idling": {
									"type": "long"
								},
								"idling_duration": {
									"type": "long"
								},
								"started_at": {
									"type": "date"
								}
							}
						}
					}
				},
				"started_at": {
					"type": "date"
				},
				"trip_duration": {
					"type": "long"
				},
				"updated_at": {
					"type": "date"
				},
				"vehicle_id": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				},
				"vrn": {
					"type": "text",
					"fields": {
						"keyword": {
							"type": "keyword",
							"ignore_above": 256
						}
					}
				}
			}
		}
	}
}