diff --git a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc index 9dcec0644e96..ce3a31675cd8 100644 --- a/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc +++ b/solr/solr-ref-guide/modules/upgrade-notes/pages/major-changes-in-solr-10.adoc @@ -66,6 +66,8 @@ The `solr.pki.sendVersion` and `solr.pki.acceptVersions` system properties are n HttpSolrClient returns; this time as a base class for HttpJettySolrClient and HttpJdkSolrClient. Its builder will dynamically detect if solr-jetty is available and use that, otherwise it will use the JDK client. +CommonParams.QT and SolrQuery.setRequestHandler have been un-deprecated. Nonetheless, if your code makes explicit reference to "qt" when constructing a standard request, there is usually a better way. + == Solr 10.0 === Solr Jetty parameters diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java index 23a3c459f768..2894cb725ec3 100644 --- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java +++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrQuery.java @@ -29,6 +29,7 @@ import org.apache.solr.common.params.HighlightParams; import org.apache.solr.common.params.ModifiableSolrParams; import org.apache.solr.common.params.MoreLikeThisParams; +import org.apache.solr.common.params.SolrParams; import org.apache.solr.common.params.StatsParams; import org.apache.solr.common.params.TermsParams; @@ -1134,22 +1135,22 @@ public Integer getStart() { } /** - * The Request Handler to use (see the solrconfig.xml), which is stored in the "qt" parameter. - * Normally it starts with a '/' and if so it will be used by {@link - * org.apache.solr.client.solrj.request.QueryRequest#getPath()} in the URL instead of the "qt" - * parameter. If this is left blank, then the default of "/select" is assumed. + * The Request Handler to use (see the solrconfig.xml), starting with a '/'. This isn't passed to + * Solr as a parameter; instead {@link QueryRequest} uses it for the path. QueryRequest uses + * "/select" if no path or request-handler is provided. Since this isn't really a + * parameter in practice, it's preferrable to set this in the constructor of QueryRequest, or the + * setter instead. * * @param qt The Request Handler name corresponding to one in solrconfig.xml on the server. * @return this - * @deprecated Use {@link SolrRequest#setPath(String)} + * @see QueryRequest#QueryRequest(String, SolrParams) + * @see SolrRequest#setPath(String) */ - @Deprecated public SolrQuery setRequestHandler(String qt) { this.set(CommonParams.QT, qt); return this; } - @Deprecated public String getRequestHandler() { return this.get(CommonParams.QT); } diff --git a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java index 052d0104bff2..2e9e5b89a826 100644 --- a/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java +++ b/solr/solrj/src/java/org/apache/solr/common/params/CommonParams.java @@ -36,12 +36,13 @@ public interface CommonParams { String TZ = "TZ"; /** - * the Request Handler (formerly known as the Query Type) - which Request Handler should handle - * the request. + * the Request Handler (formerly known as the Query Type) to route to as seen in solrconfig.xml. * - * @deprecated route requests by path instead, not using this parameter + *

Note: in a standard request, the handler is the last path component of the URL, not this + * parameter. This parameter is used for special cases when there is no path like a warming query + * or streaming expressions or some other places. */ - @Deprecated String QT = "qt"; + String QT = "qt"; /** the response writer type - the format of the response */ String WT = "wt";