| Resolved as part of the Search 6 proof of concept groundwork. We ended up not using a generic representation of the schema/document, but instead making the backend store the schema internally and expose generic interfaces to build the schema and document. 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. |