There is some use cases that require to extend SchemaField objects with "attributes" or "properties".
For example, I would like to be able to assign a specific "term mapping file" for each of my field. Each field name will have a "mapping file" associated that I can access at query time using the IndexSchema object.
The FieldType object already enables the addition of attributes. However, these attributes are "local" to a field type, not a field definition. Multiple fields can have the same field types, which is not suitable for our use cases.
One possible solution will be to create one field type per field definition, but this is more a dirty hack: it means duplicating field types, making them more difficult to maintain.
References to mailing list discussion: