I've seen many questions (and good answers) comparing the scalability, speed, and deployment scenarios for elasticsearch and Solr, but I can't seem to find good information regarding any differences or relative strengths of how queries are able to work with the indexed data.
Specifically, I'm interested in differences between elasticsearch and Solr in the following areas:
faceting capabilities: how do their handling of faceting differ, or are they basically the same?
schema handling: seems that elasticsearch has a flexibility edge in that schemas can be defined on the fly via the rest API, whereas Solr requires them to be pre-defined in schemas.xml (I haven't seen specific confirmation of this difference, though). Are there substantive differences in how schemas are used beyond that?
indexing filters: are there differences between how data can be optimized for specific searches? e.g. I've seen mention of things like field duplication and query tokenization filters for Solr that add to the search algorithm's customizability, but haven't seen much info of the same sort regarding elasticsearch, but maybe it just handles all this stuff automatically?
query expressivity: are the query DSLs basically just as expressive as each other, or are there fundamental differences?
"boosting" and/or result customization: what facilities are there for hardcoding or massaging the algorithmic search results?
Again, please note that I'm not at all interested in speed/scalbility/performace issues, just the expressivity of the search data structuring and query language--Possibly this whole question could be summarized as: is there a search I can perform or a data structure I can create in elasticsearch that I cannot replicate in Solr, or vice-versa?