At present, searching against full name is done using
But that is a reference to the internal structure of the JSON object that contains the data – the full_name field is inside the personal object. Which is not how CQL is supposed to work.
Instead, we should define a "search profile" that names the abstract indexes that we search in – e.g. userName, firstName, fullName, address – then have the CQL implementation map these as necessary onto the specific schema that happens to be in use. And then if the schema structure changes later, the CQL index names should stay the same.
Related to this: the period is special in CQL index names, and is used for namespacing: for example. dc.title is the Dublin Core title, from the Dublin Core context set; whereas (say) h.title might be a heraldic title (Baron, Viscount, etc.) from a Heraldry context set. So we shouldn't just use periods any old way.