It depends what you're trying to achieve. Looking at the mapping for example I can't see any reason why person is modelled as a nested property when a plain object type would suffice.
You would typically only resort to nested when you have an array of JSON objects each with >1 field and you want to avoid confusing properties of one object with that of another. For example, if a person has many car objects you might use nested if you wanted to query for car.colour:blue AND car.make:Ford to avoid confusing values of the blue BMW and the black Ford. If you only have one property (eg vehicleNumber) then there's no confusion and no need for nested. Your Person object is like that - it only has one property. This old slide deck explains the outline of why nested is sometimes required with Lucene.
1 Like