I'm migrating solr from 4.6 version to 5.5, we have separate request handlers in which we provide query without field name, like q=book. But for select request handler, we need to pass the request with field name, like q=type:book. if i give without field name, i used to get an error "no field name specified in df", which is fine. But after migrating to 5.5, the request with different request handler also shows this error and that too only when i hit query through browser. Same query through java code works fine and also the below mentioned query is working fine: http://localhost:8983/solr/publications?q=book&wt=xml where as this doesn't work http://localhost:8983/solr/select?q=book&wt=xml&qt=/publications.
Both the queries worked fine in solr 4 version.
Is there any change with this param? or is it mandatory to use the first request?
If you don't specify field name with
q
param. solr uses default field name which can be specified for every request handler in solrconfig.xml file withdf
.example:
And
qt
paramThere is
<requestDispatcher>
in solrconfig.xml file which is set to false by default.If requestDispatcher is set to true solr request
ex:http://localhost:8983/solr/select?q=book&wt=xml&qt=/publications.
above request uses "/select" say if there is no request handler by that name in your configs files. Instead of it being an error, Solr uses the "qt" parameter to lookup the handler by name