: I recently discovered that the copyFields directive exclusively works for : copying fields from the input doc to the indexed/stored doc.
correct. you have to explicitly list the mappings, it's not recursive (as i recall this was done partially because it was easier, but also because it ensures the schema creator must clearly thinks through exactly what should be copied where -- otherwise you might have an existing mappings of x->z and y->z that you don't consider/remember when adding a->x (or worse: a->x and a->y) : where I also have to decide wether to analyze all input on "b" with the : trimmedString or the grandVoodoo analyzer.. this part of yourquestion doesn't make sense to me ... independent of anything copyField does, the analysis is specific to the final field, a value in b won't be analyzed any differently if it was originally specified for b, or copied to b from a, or if copied from b to c. -Hoss