Looking at author_s, it is broken from Luke. The endpoint http://localhost:8983/solr/techproducts/admin/luke does not contain this dynamic field (but it contains address_s), neither does while http://localhost:8983/solr/techproducts/admin/luke?show=schema but it is listed as a copyDest.
I'm not sure if Luke was supposed to bring it back as a field, but tell us that it is a dynField, or whether mergeIndexAndSchemaData(index, schema.schema); method in schema.js was supposed to find out that by itself, as it is now, it is that method that populates author_s but in a partial:true state... It also has a line
display.partialState = is.field && !!data.fields[name].partial;
which seems to set a variabel but do nothing further with it. So there may be some work in progress here that was never finalised? This also smells like a new JIRA, not part of this one...
UPDATE: partialState is attempted used in schema.html but due to a typo, it does not work. I will fix that too (use display.partialState instead of just partialState. That will display a warning box "Because your Index is empty, we do not have enough Information about this Field".