While working on https://issues.apache.org/jira/browse/SOLR-12768 it occurred to me that it would be nice if Solr had implicitly defined field types.  This would allow you to define a field in your schema that refers to a type that is not also in your schema -- at least not explicitly (need not explicitly be put in your schema.xml if classic, or need not be passed to schema manipulation API if you use that).  The idea would be that these types would be Solr platform provided field types that need not be defined by you.  

There are multiple ways this loose idea might be conceived / imagined into a concrete proposal.  

(A) The main idea I'm kicking around right now is that Solr would _not_ throw an error at the moment of reading your field definition that it doesn't see your type... instead it would see it's a platform type (via some built-in hard-coded registry) and then register that type on the fly.  So if you were to read the schema then you'd see it.  In this way, it's kind of a shortcut.  Platform field types that you don't actually refer to will never end up being put into your schema.

(B) A schema could pre-initialize with the platform/implicit types.  This is the simplest idea but I don't like it because you may not even need some of these types.  I'm not going to go down this path now but wanted to mention it.

I'm exploring (A) right now... I'm hoping to do this for at least a "_nest_path_"  field in support of nested documents in 8.0, but conceivably the idea would be expanded to lots of things in our base schema right now (int, str, etc.)
--
Lucene/Solr Search Committer (PMC), Developer, Author, Speaker
LinkedIn: http://linkedin.com/in/davidwsmiley | Book: http://www.solrenterprisesearchserver.com