| Resolved as part of the Search 6 proof of concept groundwork. We ended up not using a generic representation of the document, but instead making the backend expose a generic document builder and build its own, specific representation of the document internally. See DocumentElement, IndexFieldAccessor, IndexObjectFieldAccessor and their implementations for the runtime part, and IndexSchemaElement, IndexSchemaFieldContext, IndexSchemaFieldTypedContext, IndexSchemaFieldTerminalContext to see how accessors are built at bootstrap. Also, reading the technical documentation might help to understand how this all works. |