I/we need to spend some time thinking about our philosophy on how much to "reach inside" the big JSON data structures ES takes. For `update()`, we reach in to the first level, giving us more convenient calls but less flexibility. For `search()`, we just take the top-level map. Maybe these are different sorts of things, and maybe they're not, but it's worth thinking about philosophy before we head too far down one path or the other. Have you any thoughts along these lines?