Solr supports a rich schema specification that allows for a wide range of flexibility in dealing with different document fields and has a "free" schema, in that, you don't have to define all of your fields ahead of time using dynamic fields. There are discussions in the search and NoSQL communities questioning the value in a schema. Having the ability to configure the fields in a configuration file, outside the actual code, gives more flexibility and makes us think about the data and business needs, which are key for any successful search engine.
Grant Ingersoll, Lucene and Solr committer, cofounder of the Apache Mahout machine learning project, and a long standing member of the Apache Software Foundation, has the following insightful commentary on the subject:
As for the notion of "schemaless", it's a bit of a marketing term, no? ("Less" schema is probably better, but it doesn't roll off the tongue now does it?) What is really meant by it, as far as I can tell, is that...