This is an automated email from the ASF dual-hosted git repository.
dsmiley pushed a commit to branch branch_10x
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_10x by this push:
new 9eb1f7ea013 SOLR-18332: More qt-removal from tests, rd 2 (#4713)
9eb1f7ea013 is described below
commit 9eb1f7ea013bcd05466d30cbd9b2de195d019a8c
Author: Jason Gerlowski <[email protected]>
AuthorDate: Sat Aug 8 14:59:07 2026 -0400
SOLR-18332: More qt-removal from tests, rd 2 (#4713)
The 'qt' parameter and several related methods in SolrJ are deprecated.
This deprecation may not stick, but it's still worth minimizing use of this
feature as much as possible.
Many tests rely on it unnecessarily; this PR is one in a number of batches
slowly removing these usages. This one in particular focuses on
solr-core tests, especially those descended from
BaseDistributedSearchTestCase and that rely on certain query() test
helpers available to this class.
(cherry picked from commit d5ee8873eb1342ccac9a59dc34eaab9afe88d4a8)
---
.../org/apache/solr/TestDistributedSearch.java | 44 +--
.../apache/solr/cloud/BasicDistributedZkTest.java | 2 +-
.../apache/solr/cloud/DistribCursorPagingTest.java | 4 +-
.../solr/cloud/DistributedVersionInfoTest.java | 3 +-
.../org/apache/solr/cloud/HttpPartitionTest.java | 2 +-
.../solr/cloud/NestedShardedAtomicUpdateTest.java | 13 +-
.../org/apache/solr/cloud/ShardRoutingTest.java | 3 +-
.../solr/cloud/TestDistribDocBasedVersion.java | 5 +-
.../apache/solr/cloud/TestRandomFlRTGCloud.java | 4 +-
.../solr/handler/admin/DaemonStreamApiTest.java | 6 +-
.../component/CombinedQueryComponentTest.java | 109 ++++---
.../component/CombinedQuerySolrCloudTest.java | 24 +-
.../DistributedCombinedQueryComponentTest.java | 312 ++++++++++-----------
.../component/DistributedMLTComponentTest.java | 280 +++++++++---------
.../DistributedQueryElevationComponentTest.java | 135 +++++----
.../DistributedSpellCheckComponentTest.java | 51 ++--
.../component/DistributedSuggestComponentTest.java | 25 +-
.../component/DistributedTermsComponentTest.java | 147 ++++------
.../TermVectorComponentDistributedTest.java | 280 +++++++++---------
.../solr/handler/component/UpdateLogCloudTest.java | 5 +-
.../json/TestJsonRequestWithEdismaxDefType.java | 2 +-
.../test/org/apache/solr/update/PeerSyncTest.java | 9 +-
.../solr/update/PeerSyncWithBufferUpdatesTest.java | 9 +-
.../PeerSyncWithIndexFingerprintCachingTest.java | 12 +-
...ncWithLeaderAndIndexFingerprintCachingTest.java | 9 +-
.../apache/solr/update/PeerSyncWithLeaderTest.java | 9 +-
26 files changed, 733 insertions(+), 771 deletions(-)
diff --git a/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
b/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
index 9c9ceefa616..bcadbec3583 100644
--- a/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
+++ b/solr/core/src/test/org/apache/solr/TestDistributedSearch.java
@@ -35,6 +35,7 @@ import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
import org.apache.solr.client.solrj.RemoteSolrException;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.FacetField;
import org.apache.solr.client.solrj.response.FieldStatsInfo;
@@ -615,18 +616,13 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
// basic spellcheck testing
query(
- "q",
- "toyata",
- "fl",
- "id,lowerfilt",
- "spellcheck",
- true,
- "spellcheck.q",
- "toyata",
- "qt",
"/spellCheckCompRH_Direct",
- "shards.qt",
- "/spellCheckCompRH_Direct");
+ params(
+ "q", "toyata",
+ "fl", "id,lowerfilt",
+ "spellcheck", "true",
+ "spellcheck.q", "toyata",
+ "shards.qt", "/spellCheckCompRH_Direct"));
stress = 0; // turn off stress... we want to tex max combos in min time
for (int i = 0; i < 25 * RANDOM_MULTIPLIER; i++) {
@@ -1592,6 +1588,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
Thread.sleep(100);
queryPartialResults(
+ "/select",
upShards,
upClients,
"q",
@@ -1610,6 +1607,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
"true");
queryPartialResults(
+ "/select",
upShards,
upClients,
"q",
@@ -1627,6 +1625,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
// test group query
queryPartialResults(
+ "/select",
upShards,
upClients,
"q",
@@ -1651,6 +1650,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
"true");
queryPartialResults(
+ "/select",
upShards,
upClients,
"q",
@@ -1665,6 +1665,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
"true");
queryPartialResults(
+ "/spellCheckCompRH_Direct",
upShards,
upClients,
"q",
@@ -1673,8 +1674,6 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
"true",
"spellcheck.q",
"toyata",
- "qt",
- "/spellCheckCompRH_Direct",
"shards.qt",
"/spellCheckCompRH_Direct",
ShardParams.SHARDS_INFO,
@@ -1907,7 +1906,11 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
}
protected void queryPartialResults(
- final List<String> upShards, final List<SolrClient> upClients, Object...
q) throws Exception {
+ String requestHandler,
+ final List<String> upShards,
+ final List<SolrClient> upClients,
+ Object... q)
+ throws Exception {
final ModifiableSolrParams params = new ModifiableSolrParams();
@@ -1916,7 +1919,8 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
}
// TODO: look into why passing true causes fails
params.set("distrib", "false");
- final QueryResponse controlRsp = controlClient.query(params);
+ final QueryResponse controlRsp =
+ new QueryRequest(requestHandler, params).process(controlClient);
// if time.allowed is specified then even a control response can return a
partialResults header
if (params.get(CommonParams.TIME_ALLOWED) == null) {
validateControlData(controlRsp);
@@ -1928,7 +1932,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
if (upClients.size() == 0) {
return;
}
- QueryResponse rsp = queryRandomUpServer(params, upClients);
+ QueryResponse rsp = queryRandomUpServer(requestHandler, params, upClients);
comparePartialResponses(rsp, upShards);
@@ -1948,7 +1952,9 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
int which = r.nextInt(upClients.size());
SolrClient client = upClients.get(which);
try {
- QueryResponse rsp = client.query(new
ModifiableSolrParams(params));
+ QueryResponse rsp =
+ new QueryRequest(requestHandler, new
ModifiableSolrParams(params))
+ .process(client);
if (verifyStress) {
comparePartialResponses(rsp, upShards);
}
@@ -1971,7 +1977,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
}
protected QueryResponse queryRandomUpServer(
- ModifiableSolrParams params, List<SolrClient> upClients)
+ String requestHandler, ModifiableSolrParams params, List<SolrClient>
upClients)
throws SolrServerException, IOException {
// query a random "up" server
SolrClient client;
@@ -1982,7 +1988,7 @@ public class TestDistributedSearch extends
BaseDistributedSearchTestCase {
client = upClients.get(which);
}
- return client.query(params);
+ return new QueryRequest(requestHandler, params).process(client);
}
protected void comparePartialResponses(QueryResponse rsp, List<String>
upShards) {
diff --git
a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
index 1608b90f57d..88be1ee8861 100644
--- a/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
@@ -1250,7 +1250,7 @@ public class BasicDistributedZkTest extends
AbstractFullDistribZkTestBase {
expected.add(val);
}
- QueryRequest qr = new QueryRequest(params("qt", "/get", "id", "1000"));
+ QueryRequest qr = new QueryRequest("/get", params("id", "1000"));
for (SolrClient client : clients) {
val += 10;
NamedList<?> rsp = client.request(qr);
diff --git
a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
index b70615e499a..b6452a5e61e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribCursorPagingTest.java
@@ -36,6 +36,7 @@ import org.apache.solr.CursorPagingTest;
import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.LukeRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
@@ -883,11 +884,12 @@ public class DistribCursorPagingTest extends
AbstractFullDistribZkTestBase {
public void assertFullWalkNoDups(SolrParams params, Consumer<SolrDocument>
consumer)
throws Exception {
+ final String requestHandler = params.get(CommonParams.QT, "/select");
String cursorMark = CURSOR_MARK_START;
int docsOnThisPage = Integer.MAX_VALUE;
while (0 < docsOnThisPage) {
final SolrParams p = p(params, CURSOR_MARK_PARAM, cursorMark);
- QueryResponse rsp = cloudClient.query(p);
+ QueryResponse rsp = new QueryRequest(requestHandler,
p).process(cloudClient);
String nextCursorMark = assertHashNextCursorMark(rsp);
SolrDocumentList docs = extractDocList(rsp);
docsOnThisPage = docs.size();
diff --git
a/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
b/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
index 6df1bea6cfc..b6b1f977240 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistributedVersionInfoTest.java
@@ -359,8 +359,7 @@ public class DistributedVersionInfoTest extends
SolrCloudTestCase {
*/
protected Long assertDocExists(SolrClient solr, String docId, Long expVers)
throws Exception {
QueryRequest qr =
- new QueryRequest(
- params("qt", "/get", "id", docId, "distrib", "false", "fl",
"id,_version_"));
+ new QueryRequest("/get", params("id", docId, "distrib", "false", "fl",
"id,_version_"));
NamedList<?> rsp = solr.request(qr);
SolrDocument doc = (SolrDocument) rsp.get("doc");
String match = JSONTestUtil.matchObj("/id", doc, docId);
diff --git a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
index 48396c63d31..ee536f12ae1 100644
--- a/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/HttpPartitionTest.java
@@ -553,7 +553,7 @@ public class HttpPartitionTest extends
AbstractFullDistribZkTestBase {
private NamedList<Object> realTimeGetDocId(SolrClient solr, String docId)
throws SolrServerException, IOException {
- QueryRequest qr = new QueryRequest(params("qt", "/get", "id", docId,
"distrib", "false"));
+ QueryRequest qr = new QueryRequest("/get", params("id", docId, "distrib",
"false"));
return solr.request(qr);
}
diff --git
a/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
b/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
index 8aaeda4779a..455b202f1d3 100644
---
a/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
+++
b/solr/core/src/test/org/apache/solr/cloud/NestedShardedAtomicUpdateTest.java
@@ -27,6 +27,7 @@ import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
@@ -130,7 +131,8 @@ public class NestedShardedAtomicUpdateTest extends
SolrCloudTestCase {
// assert RTG request respects _route_ param
QueryResponse routeRsp =
- getRandomSolrClient().query(params("qt", "/get", "id", "2",
"_route_", "1"));
+ new QueryRequest("/get", params("id", "2", "_route_", "1"))
+ .process(getRandomSolrClient());
SolrDocument results = (SolrDocument) routeRsp.getResponse().get("doc");
assertNotNull(
"RTG should find doc because _route_ was set to the root documents'
ID", results);
@@ -142,7 +144,8 @@ public class NestedShardedAtomicUpdateTest extends
SolrCloudTestCase {
// assert all docs are indexed inside the same block
QueryResponse rsp =
- getRandomSolrClient().query(params("qt", "/get", "id", "1", "fl",
"*, [child]"));
+ new QueryRequest("/get", params("id", "1", "fl", "*, [child]"))
+ .process(getRandomSolrClient());
SolrDocument val = (SolrDocument) rsp.getResponse().get("doc");
assertEquals("1", val.getFieldValue("id"));
@SuppressWarnings({"unchecked"})
@@ -234,7 +237,8 @@ public class NestedShardedAtomicUpdateTest extends
SolrCloudTestCase {
if (random().nextBoolean()) {
// assert RTG request respects _route_ param
QueryResponse routeRsp =
- getRandomSolrClient().query(params("qt", "/get", "id", "2",
"_route_", "1"));
+ new QueryRequest("/get", params("id", "2", "_route_", "1"))
+ .process(getRandomSolrClient());
SolrDocument results = (SolrDocument)
routeRsp.getResponse().get("doc");
assertNotNull(
"RTG should find doc because _route_ was set to the root
documents' ID", results);
@@ -249,7 +253,8 @@ public class NestedShardedAtomicUpdateTest extends
SolrCloudTestCase {
if (random().nextBoolean()) {
// assert all docs are indexed inside the same block
QueryResponse rsp =
- getRandomSolrClient().query(params("qt", "/get", "id", "1", "fl",
"*, [child]"));
+ new QueryRequest("/get", params("id", "1", "fl", "*, [child]"))
+ .process(getRandomSolrClient());
SolrDocument val = (SolrDocument) rsp.getResponse().get("doc");
assertEquals("1", val.getFieldValue("id"));
assertInplaceCounter(id1InPlaceCounter, val);
diff --git a/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
b/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
index 1d705df29fe..cf12d1d18f5 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ShardRoutingTest.java
@@ -23,6 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.SequencedMap;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ShardParams;
@@ -325,7 +326,7 @@ public class ShardRoutingTest extends
AbstractFullDistribZkTestBase {
client.add(sdoc("id", "b!doc", "foo_i", map("inc", 1)));
expectedVal++;
- QueryResponse rsp = client.query(params("qt", "/get", "id", "b!doc"));
+ QueryResponse rsp = new QueryRequest("/get", params("id",
"b!doc")).process(client);
Object val = ((Map) rsp.getResponse().get("doc")).get("foo_i");
assertEquals((Integer) expectedVal, val);
}
diff --git
a/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
b/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
index e3bcfe7b998..982a9777145 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestDistribDocBasedVersion.java
@@ -22,6 +22,7 @@ import java.util.List;
import java.util.Map;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocument;
@@ -336,9 +337,9 @@ public class TestDistribDocBasedVersion extends
AbstractFullDistribZkTestBase {
expectedIds.put(strs.get(i), Long.valueOf(verS.get(i)));
}
- solrClient.query(params("qt", "/get", "ids", ids));
+ new QueryRequest("/get", params("ids", ids)).process(solrClient);
- QueryResponse rsp = cloudClient.query(params("qt", "/get", "ids", ids));
+ QueryResponse rsp = new QueryRequest("/get", params("ids",
ids)).process(cloudClient);
Map<String, Object> obtainedIds = new HashMap<>();
for (SolrDocument doc : rsp.getResults()) {
obtainedIds.put((String) doc.get("id"), doc.get(vfield));
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
index 53c9fe0b3ac..cdbab82b654 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
@@ -417,7 +417,7 @@ public class TestRandomFlRTGCloud extends SolrCloudTestCase
{
// NOTE: not using SolrClient.getById or getByIds because we want to force
choice of "id" vs
// "ids" params
- final ModifiableSolrParams params = params("qt", "/get");
+ final ModifiableSolrParams params = params();
// random fq -- nothing fancy, secondary concern for our test
final Integer FQ_MAX = usually() ? null : random().nextInt();
@@ -481,7 +481,7 @@ public class TestRandomFlRTGCloud extends SolrCloudTestCase
{
final Object rsp; // only here for an assertion message
- var qr = new QueryRequest(params);
+ var qr = new QueryRequest("/get", params);
final SolrDocumentList docs =
switch (wt) {
case "javabin" -> { // the most common case
diff --git
a/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
b/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
index b7f82ac616b..cb0d11714f7 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/DaemonStreamApiTest.java
@@ -29,6 +29,7 @@ import org.apache.solr.client.solrj.io.Tuple;
import org.apache.solr.client.solrj.io.stream.SolrStream;
import org.apache.solr.client.solrj.io.stream.TupleStream;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.cloud.MiniSolrCloudCluster;
import org.apache.solr.common.params.SolrParams;
@@ -261,11 +262,12 @@ public class DaemonStreamApiTest extends SolrTestCaseJ4 {
throws IOException, SolrServerException {
SolrClient client = cluster.getSolrClient();
// create a daemon
- QueryResponse resp = client.query(CHECKPOINT_COLL, params("expr",
daemonDef, "qt", "/stream"));
+ QueryResponse resp =
+ new QueryRequest("/stream", params("expr", daemonDef)).process(client,
CHECKPOINT_COLL);
assertEquals(errMsg, 0, resp.getStatus());
// This should close and replace the current daemon and NOT leak threads.
- resp = client.query(CHECKPOINT_COLL, params("expr", daemonDef, "qt",
"/stream"));
+ resp = new QueryRequest("/stream", params("expr",
daemonDef)).process(client, CHECKPOINT_COLL);
assertEquals(errMsg, 0, resp.getStatus());
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/CombinedQueryComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/CombinedQueryComponentTest.java
index 224c59bb1b7..c9d5e9f8a28 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/CombinedQueryComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/CombinedQueryComponentTest.java
@@ -107,14 +107,14 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
prepareIndexDocs();
QueryResponse rsp =
query(
- CommonParams.JSON,
- "{\"queries\":"
- + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test for
doc 5\"}}},"
- + "\"limit\":5,"
- + "\"fields\":[\"id\",\"score\",\"title\"],"
- +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\"]}}",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ "{\"queries\":"
+ + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test
for doc 5\"}}},"
+ + "\"limit\":5,"
+ + "\"fields\":[\"id\",\"score\",\"title\"],"
+ +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\"]}}"));
assertEquals(5, rsp.getResults().size());
}
@@ -123,16 +123,16 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
prepareIndexDocs();
QueryResponse rsp =
query(
- CommonParams.JSON,
- "{\"queries\":"
- + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test for
doc 1\"}},"
- + "\"lexical2\":{\"lucene\":{\"query\":\"text:test text for
doc 2\"}}},"
- + "\"limit\":5,"
- + "\"fields\":[\"id\",\"score\",\"title\"],"
- +
"\"params\":{\"combiner\":true,\"debug\":[\"results\"],\"combiner.query\":[\"lexical1\",\"lexical2\"],"
- + "\"rid\": \"test-1\"}}",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ "{\"queries\":"
+ + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test
for doc 1\"}},"
+ + "\"lexical2\":{\"lucene\":{\"query\":\"text:test text
for doc 2\"}}},"
+ + "\"limit\":5,"
+ + "\"fields\":[\"id\",\"score\",\"title\"],"
+ +
"\"params\":{\"combiner\":true,\"debug\":[\"results\"],\"combiner.query\":[\"lexical1\",\"lexical2\"],"
+ + "\"rid\": \"test-1\"}}"));
assertEquals(10, rsp.getResults().getNumFound());
assertTrue(rsp.getDebugMap().containsKey("combinerExplanations"));
}
@@ -143,15 +143,15 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
prepareIndexDocs();
QueryResponse rsp =
query(
- CommonParams.JSON,
- "{\"queries\":"
- + "{\"lexical1\":{\"lucene\":{\"query\":\"title:Solr is the
blazing-fast, open source search platform\"}},"
- + "\"lexical2\":{\"lucene\":{\"query\":\"text:Solr powers the
search\"}}},"
- + "\"limit\":5,"
- + "\"fields\":[\"id\",\"score\",\"title\"],"
- +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\",\"lexical2\"]}}",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ "{\"queries\":"
+ + "{\"lexical1\":{\"lucene\":{\"query\":\"title:Solr is
the blazing-fast, open source search platform\"}},"
+ + "\"lexical2\":{\"lucene\":{\"query\":\"text:Solr powers
the search\"}}},"
+ + "\"limit\":5,"
+ + "\"fields\":[\"id\",\"score\",\"title\"],"
+ +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\",\"lexical2\"]}}"));
assertEquals(0, rsp.getResults().size());
}
@@ -164,16 +164,16 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
SolrException.class,
() ->
query(
- CommonParams.JSON,
- "{\"queries\":"
- + "{\"lexical1\":{\"lucene\":{\"query\":\"id:(2^=2 OR
3^=1)\"}},"
- + "\"vector\":{\"knn\":{ \"f\": \"vector\", \"topK\":
5, \"query\": \"[1.0, 2.0, 3.0, 4.0]\"}},"
- + "\"lexical2\":{\"lucene\":{\"query\":\"text:test
text for doc 2\"}}},"
- + "\"limit\":5,"
- + "\"fields\":[\"id\",\"score\",\"title\"],"
- +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\",\"vector\",
\"lexical2\"]}}",
- CommonParams.QT,
- "/search"));
+ "/search",
+ params(
+ CommonParams.JSON,
+ "{\"queries\":"
+ + "{\"lexical1\":{\"lucene\":{\"query\":\"id:(2^=2
OR 3^=1)\"}},"
+ + "\"vector\":{\"knn\":{ \"f\": \"vector\",
\"topK\": 5, \"query\": \"[1.0, 2.0, 3.0, 4.0]\"}},"
+ + "\"lexical2\":{\"lucene\":{\"query\":\"text:test
text for doc 2\"}}},"
+ + "\"limit\":5,"
+ + "\"fields\":[\"id\",\"score\",\"title\"],"
+ +
"\"params\":{\"combiner\":true,\"combiner.query\":[\"lexical1\",\"vector\",
\"lexical2\"]}}")));
assertTrue(exceptionThrown.getMessage().contains("Too many queries to
combine: limit is 2"));
}
@@ -186,16 +186,16 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
prepareIndexDocs();
QueryResponse rsp =
query(
- CommonParams.JSON,
- "{\"queries\":"
- + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test for
doc 1\"}},"
- + "\"lexical2\":{\"lucene\":{\"query\":\"text:test text for
doc 2\"}}},"
- + "\"limit\":5,"
- + "\"fields\":[\"id\",\"score\",\"title\"],"
- +
"\"params\":{\"combiner\":true,\"combiner.algorithm\":test,\"combiner.query\""
- + ":[\"lexical1\",\"lexical2\"],\"debug\":[\"results\"]}}",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ "{\"queries\":"
+ + "{\"lexical1\":{\"lucene\":{\"query\":\"title:title test
for doc 1\"}},"
+ + "\"lexical2\":{\"lucene\":{\"query\":\"text:test text
for doc 2\"}}},"
+ + "\"limit\":5,"
+ + "\"fields\":[\"id\",\"score\",\"title\"],"
+ +
"\"params\":{\"combiner\":true,\"combiner.algorithm\":test,\"combiner.query\""
+ +
":[\"lexical1\",\"lexical2\"],\"debug\":[\"results\"]}}"));
assertEquals(10, rsp.getResults().getNumFound());
assertEquals(
"org.apache.lucene.search.Explanation:30 = this is test combiner\n",
@@ -225,25 +225,14 @@ public class CombinedQueryComponentTest extends
BaseDistributedSearchTestCase {
SolrException.class,
() ->
query(
- CommonParams.JSON,
- combinedQueryStr,
- CommonParams.QT,
"/search",
- "cursorMark",
- CURSOR_MARK_START));
+ params(CommonParams.JSON, combinedQueryStr, "cursorMark",
CURSOR_MARK_START)));
assertTrue(
exceptionThrown.getMessage().contains("Unsupported functionality for
Combined Queries."));
exceptionThrown =
expectThrows(
SolrException.class,
- () ->
- query(
- CommonParams.JSON,
- combinedQueryStr,
- CommonParams.QT,
- "/search",
- "group",
- "true"));
+ () -> query("/search", params(CommonParams.JSON, combinedQueryStr,
"group", "true")));
assertTrue(
exceptionThrown.getMessage().contains("Unsupported functionality for
Combined Queries."));
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/CombinedQuerySolrCloudTest.java
b/solr/core/src/test/org/apache/solr/handler/component/CombinedQuerySolrCloudTest.java
index b4b72e0f2e5..6c455e0d1ce 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/CombinedQuerySolrCloudTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/CombinedQuerySolrCloudTest.java
@@ -136,7 +136,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1"]}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(1, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "2");
}
@@ -160,7 +160,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(5, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6", "3");
}
@@ -185,7 +185,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(5, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "2", "8", "7", "10");
}
@@ -208,7 +208,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQueryAll,
CommonParams.QT, "/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON,
jsonQueryAll));
// ideal ordering
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6", "3", "10",
"8");
String jsonQueryLimit2 =
@@ -222,7 +222,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
}""";
- rsp = query(CommonParams.JSON, jsonQueryLimit2, CommonParams.QT,
"/search");
+ rsp = query("/search", params(CommonParams.JSON, jsonQueryLimit2));
// assert proper ordering due to presence of shards.rows
assertFieldValues(rsp.getResults(), id, "7", "2");
String jsonQueryWithShardRows =
@@ -236,7 +236,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"], "shards.rows": 10}
}""";
- rsp = query(CommonParams.JSON, jsonQueryWithShardRows, CommonParams.QT,
"/search");
+ rsp = query("/search", params(CommonParams.JSON, jsonQueryWithShardRows));
assertFieldValues(rsp.getResults(), id, "5", "7");
// assert improper ordering due to lack of shards.rows
String jsonQueryPage =
@@ -251,7 +251,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"fields": ["id", "score", "title"],
"params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
}""";
- rsp = query(CommonParams.JSON, jsonQueryPage, CommonParams.QT, "/search");
+ rsp = query("/search", params(CommonParams.JSON, jsonQueryPage));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "6", "3", "10", "8");
}
@@ -281,7 +281,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"combiner.query": ["lexical"]
}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(3, rsp.getResults().size());
assertEquals(4, rsp.getResults().getNumFound());
assertEquals("[0 (2), 2 (2)]",
rsp.getFacetFields().getFirst().getValues().toString());
@@ -314,7 +314,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"hl.q": "test doc"
}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6");
assertEquals("mod3_idv", rsp.getFacetFields().getFirst().getName());
@@ -356,7 +356,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
"hl.q": "test doc"
}
}""";
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search-elevate");
+ QueryResponse rsp = query("/search-elevate", params(CommonParams.JSON,
jsonQuery));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "6", "10", "5", "7");
assertEquals("mod3_idv", rsp.getFacetFields().getFirst().getName());
@@ -419,7 +419,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
}
}""";
handle.put("expanded", UNORDERED);
- QueryResponse rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT,
"/search");
+ QueryResponse rsp = query("/search", params(CommonParams.JSON, jsonQuery));
assertEquals(3, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "CO!2", "CO!10", "CO!3");
assertEquals("id", rsp.getFacetFields().getFirst().getName());
@@ -462,7 +462,7 @@ public class CombinedQuerySolrCloudTest extends
AbstractFullDistribZkTestBase {
/** Tests {@link ResponseBuilder#setForcedDistrib(boolean)} had the desired
effect. */
@Test
public void testForcedDistrib() throws Exception {
- QueryResponse rsp = query("qt", "/forcedDistribTest", "q", "*:*", "rows",
"0");
+ QueryResponse rsp = query("/forcedDistribTest", params("q", "*:*", "rows",
"0"));
// ForcedDistribSearchHandler would trigger a failure if this didn't work
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedCombinedQueryComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedCombinedQueryComponentTest.java
index 55f2a87a723..3c8044f4619 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedCombinedQueryComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedCombinedQueryComponentTest.java
@@ -128,155 +128,155 @@ public class DistributedCombinedQueryComponentTest
extends BaseDistributedSearch
// Single lexical query
QueryResponse rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:2^=10"}}
- },
- "limit": 5,
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:2^=10"}}
+ },
+ "limit": 5,
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1"]}
+ }"""));
assertEquals(1, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "2");
// Multiple lexical queries
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 5,
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 5,
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
+ }"""));
assertEquals(5, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6", "3");
// Multiple queries with sort
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 5,
- "sort": "mod3_idv desc, score desc",
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 5,
+ "sort": "mod3_idv desc, score desc",
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
+ }"""));
assertEquals(5, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "2", "7", "10", "4");
// Pagination: no limit (all results), ideal ordering
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
+ }"""));
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6", "3", "10",
"4");
// Pagination: limit 1 without shards.rows gives non-ideal ordering
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 1,
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 1,
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
+ }"""));
assertFieldValues(rsp.getResults(), id, "7");
// Pagination: limit 1 with shards.rows gives ideal ordering
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 1,
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"], "shards.rows": 10}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 1,
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"], "shards.rows": 10}
+ }"""));
assertFieldValues(rsp.getResults(), id, "5");
// Pagination: limit 4, offset 3
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 4,
- "offset": 3,
- "fields": ["id", "score", "title"],
- "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 4,
+ "offset": 3,
+ "fields": ["id", "score", "title"],
+ "params": {"combiner": true, "combiner.query": ["lexical1",
"lexical2"]}
+ }"""));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "6", "3", "10", "4");
// Faceting
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}}
- },
- "limit": 3,
- "offset": 1,
- "fields": ["id", "score", "title"],
- "params": {
- "combiner": true,
- "facet": true,
- "facet.field": "mod3_idv",
- "facet.mincount": 1,
- "combiner.query": ["lexical"]
- }
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}}
+ },
+ "limit": 3,
+ "offset": 1,
+ "fields": ["id", "score", "title"],
+ "params": {
+ "combiner": true,
+ "facet": true,
+ "facet.field": "mod3_idv",
+ "facet.mincount": 1,
+ "combiner.query": ["lexical"]
+ }
+ }"""));
assertEquals(3, rsp.getResults().size());
assertEquals(4, rsp.getResults().getNumFound());
assertEquals("[0 (2), 2 (2)]",
rsp.getFacetFields().getFirst().getValues().toString());
@@ -284,27 +284,27 @@ public class DistributedCombinedQueryComponentTest
extends BaseDistributedSearch
// Faceting + highlighting
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3 OR
5^=1)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4 OR
10^=2)"}}
- },
- "limit": 4,
- "fields": ["id", "score", "title"],
- "params": {
- "combiner": true,
- "facet": true,
- "facet.field": "mod3_idv",
- "combiner.query": ["lexical1", "lexical2"],
- "hl": true,
- "hl.fl": "title",
- "hl.q": "test doc"
- }
- }""",
- CommonParams.QT,
- "/search");
+ "/search",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=4 OR 3^=2 OR 6^=3
OR 5^=1)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 5^=3 OR 7^=4
OR 10^=2)"}}
+ },
+ "limit": 4,
+ "fields": ["id", "score", "title"],
+ "params": {
+ "combiner": true,
+ "facet": true,
+ "facet.field": "mod3_idv",
+ "combiner.query": ["lexical1", "lexical2"],
+ "hl": true,
+ "hl.fl": "title",
+ "hl.q": "test doc"
+ }
+ }"""));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "5", "7", "2", "6");
assertEquals("mod3_idv", rsp.getFacetFields().getFirst().getName());
@@ -321,29 +321,29 @@ public class DistributedCombinedQueryComponentTest
extends BaseDistributedSearch
handle.put("debug", SKIP);
rsp =
query(
- CommonParams.JSON,
- """
- {
- "queries": {
- "lexical1": {"lucene": {"query": "id:(2^=2 OR 3^=1 OR 6^=2 OR
1^=3)"}},
- "lexical2": {"lucene": {"query": "id:(4^=1 OR 1^=2 OR 7^=3 OR
10^=2)"}}
- },
- "limit": 4,
- "fields": ["id", "score", "title"],
- "params": {
- "combiner": true,
- "elevateIds": "10,6",
- "combiner.query": ["lexical1", "lexical2"],
- "facet": true,
- "facet.field": "mod3_idv",
- "hl": true,
- "hl.fl": "title",
- "hl.q": "test doc",
- "debug": "true"
- }
- }""",
- CommonParams.QT,
- "/search-elevate");
+ "/search-elevate",
+ params(
+ CommonParams.JSON,
+ """
+ {
+ "queries": {
+ "lexical1": {"lucene": {"query": "id:(2^=2 OR 3^=1 OR 6^=2
OR 1^=3)"}},
+ "lexical2": {"lucene": {"query": "id:(4^=1 OR 1^=2 OR 7^=3
OR 10^=2)"}}
+ },
+ "limit": 4,
+ "fields": ["id", "score", "title"],
+ "params": {
+ "combiner": true,
+ "elevateIds": "10,6",
+ "combiner.query": ["lexical1", "lexical2"],
+ "facet": true,
+ "facet.field": "mod3_idv",
+ "hl": true,
+ "hl.fl": "title",
+ "hl.q": "test doc",
+ "debug": "true"
+ }
+ }"""));
assertEquals(4, rsp.getResults().size());
assertFieldValues(rsp.getResults(), id, "10", "6", "1", "7");
assertEquals("mod3_idv", rsp.getFacetFields().getFirst().getName());
@@ -365,7 +365,7 @@ public class DistributedCombinedQueryComponentTest extends
BaseDistributedSearch
@Test
@ShardsFixed(num = 2)
public void testForcedDistrib() throws Exception {
- QueryResponse rsp = query("qt", "/forcedDistribTest", "q", "*:*", "rows",
"0");
+ QueryResponse rsp = query("/forcedDistribTest", params("q", "*:*", "rows",
"0"));
// ForcedDistribSearchHandler would trigger a failure if this didn't work
}
@@ -478,7 +478,7 @@ public class DistributedCombinedQueryComponentTest extends
BaseDistributedSearch
handle.put("expanded", UNORDERED);
QueryResponse rsp;
try {
- rsp = query(CommonParams.JSON, jsonQuery, CommonParams.QT, "/search");
+ rsp = query("/search", params(CommonParams.JSON, jsonQuery));
} finally {
handle.remove("expanded");
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
index 9145b7cf013..f7ce38519b6 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedMLTComponentTest.java
@@ -189,28 +189,20 @@ public class DistributedMLTComponentTest extends
BaseDistributedSearchTestCase {
handle.put("17", UNORDERED);
query(
- "q",
- "match_none",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
requestHandlerName,
- "shards.qt",
- requestHandlerName);
+ params(
+ "q", "match_none",
+ "mlt", "true",
+ "mlt.fl", "lowerfilt",
+ "shards.qt", requestHandlerName));
query(
- "q",
- "lowerfilt:sonata",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
requestHandlerName,
- "shards.qt",
- requestHandlerName);
+ params(
+ "q", "lowerfilt:sonata",
+ "mlt", "true",
+ "mlt.fl", "lowerfilt",
+ "shards.qt", requestHandlerName));
handle.put("24", UNORDERED);
handle.put("23", UNORDERED);
@@ -234,116 +226,116 @@ public class DistributedMLTComponentTest extends
BaseDistributedSearchTestCase {
// we ask for a mlt.count of 20 to ensure both include all results
query(
- "q",
- "lowerfilt:moon",
- "fl",
- id,
- MoreLikeThisParams.MIN_TERM_FREQ,
- 2,
- MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
- "sort",
- "id_i1 desc",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
requestHandlerName,
- "shards.qt",
- requestHandlerName,
- "mlt.count",
- "20");
+ params(
+ "q",
+ "lowerfilt:moon",
+ "fl",
+ id,
+ MoreLikeThisParams.MIN_TERM_FREQ,
+ "2",
+ MoreLikeThisParams.MIN_DOC_FREQ,
+ "1",
+ "sort",
+ "id_i1 desc",
+ "mlt",
+ "true",
+ "mlt.fl",
+ "lowerfilt",
+ "shards.qt",
+ requestHandlerName,
+ "mlt.count",
+ "20"));
query(
- "q",
- "lowerfilt:fox",
- "fl",
- id,
- MoreLikeThisParams.MIN_TERM_FREQ,
- 1,
- MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
- "sort",
- "id_i1 desc",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
requestHandlerName,
- "shards.qt",
- requestHandlerName,
- "mlt.count",
- "20");
+ params(
+ "q",
+ "lowerfilt:fox",
+ "fl",
+ id,
+ MoreLikeThisParams.MIN_TERM_FREQ,
+ "1",
+ MoreLikeThisParams.MIN_DOC_FREQ,
+ "1",
+ "sort",
+ "id_i1 desc",
+ "mlt",
+ "true",
+ "mlt.fl",
+ "lowerfilt",
+ "shards.qt",
+ requestHandlerName,
+ "mlt.count",
+ "20"));
query(
- "q",
- "lowerfilt:the red fox",
- "fl",
- id,
- MoreLikeThisParams.MIN_TERM_FREQ,
- 1,
- MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
- "sort",
- "id_i1 desc",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
- requestHandlerName,
- "shards.qt",
requestHandlerName,
- "mlt.count",
- "20");
+ params(
+ "q",
+ "lowerfilt:the red fox",
+ "fl",
+ id,
+ MoreLikeThisParams.MIN_TERM_FREQ,
+ "1",
+ MoreLikeThisParams.MIN_DOC_FREQ,
+ "1",
+ "sort",
+ "id_i1 desc",
+ "mlt",
+ "true",
+ "mlt.fl",
+ "lowerfilt",
+ "shards.qt",
+ requestHandlerName,
+ "mlt.count",
+ "20"));
query(
- "q",
- "lowerfilt:blue moon",
- "fl",
- id,
- MoreLikeThisParams.MIN_TERM_FREQ,
- 1,
- MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
- "sort",
- "id_i1 desc",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt",
- "qt",
- requestHandlerName,
- "shards.qt",
requestHandlerName,
- "mlt.count",
- "20");
-
- // let's query by specifying multiple mlt.fl as comma-separated values
- QueryResponse response =
- query(
+ params(
"q",
- "lowerfilt:moon",
+ "lowerfilt:blue moon",
"fl",
id,
MoreLikeThisParams.MIN_TERM_FREQ,
- 2,
+ "1",
MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
+ "1",
"sort",
"id_i1 desc",
"mlt",
"true",
"mlt.fl",
- "lowerfilt1,lowerfilt",
- "qt",
- requestHandlerName,
+ "lowerfilt",
"shards.qt",
requestHandlerName,
"mlt.count",
- "20");
+ "20"));
+
+ // let's query by specifying multiple mlt.fl as comma-separated values
+ QueryResponse response =
+ query(
+ requestHandlerName,
+ params(
+ "q",
+ "lowerfilt:moon",
+ "fl",
+ id,
+ MoreLikeThisParams.MIN_TERM_FREQ,
+ "2",
+ MoreLikeThisParams.MIN_DOC_FREQ,
+ "1",
+ "sort",
+ "id_i1 desc",
+ "mlt",
+ "true",
+ "mlt.fl",
+ "lowerfilt1,lowerfilt",
+ "shards.qt",
+ requestHandlerName,
+ "mlt.count",
+ "20"));
NamedList<Object> moreLikeThis = (NamedList<Object>)
response.getResponse().get("moreLikeThis");
Map<String, Long> idVsMLTCount = new HashMap<>();
for (Map.Entry<String, Object> entry : moreLikeThis) {
@@ -354,58 +346,58 @@ public class DistributedMLTComponentTest extends
BaseDistributedSearchTestCase {
// let's query by specifying multiple mlt.fl as multiple request parameters
response =
query(
+ requestHandlerName,
+ params(
+ "q",
+ "lowerfilt:moon",
+ "fl",
+ id,
+ MoreLikeThisParams.MIN_TERM_FREQ,
+ "2",
+ MoreLikeThisParams.MIN_DOC_FREQ,
+ "1",
+ "sort",
+ "id_i1 desc",
+ "mlt",
+ "true",
+ "mlt.fl",
+ "lowerfilt1",
+ "mlt.fl",
+ "lowerfilt",
+ "shards.qt",
+ requestHandlerName,
+ "mlt.count",
+ "20"));
+ moreLikeThis = (NamedList<Object>)
response.getResponse().get("moreLikeThis");
+ for (Map.Entry<String, Object> entry : moreLikeThis) {
+ String key = entry.getKey();
+ Long expected = idVsMLTCount.get(key);
+ Long actual = ((SolrDocumentList) entry.getValue()).getNumFound();
+ assertEquals("MLT mismatch for id=" + key, expected, actual);
+ }
+ // test boost mlt.qf
+ query(
+ requestHandlerName,
+ params(
"q",
"lowerfilt:moon",
"fl",
id,
MoreLikeThisParams.MIN_TERM_FREQ,
- 2,
+ "2",
MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
+ "1",
"sort",
"id_i1 desc",
"mlt",
"true",
"mlt.fl",
- "lowerfilt1",
- "mlt.fl",
- "lowerfilt",
- "qt",
- requestHandlerName,
+ "lowerfilt1,lowerfilt",
+ "mlt.qf",
+ "lowerfilt1^1.2 lowerfilt^3.4",
"shards.qt",
requestHandlerName,
"mlt.count",
- "20");
- moreLikeThis = (NamedList<Object>)
response.getResponse().get("moreLikeThis");
- for (Map.Entry<String, Object> entry : moreLikeThis) {
- String key = entry.getKey();
- Long expected = idVsMLTCount.get(key);
- Long actual = ((SolrDocumentList) entry.getValue()).getNumFound();
- assertEquals("MLT mismatch for id=" + key, expected, actual);
- }
- // test boost mlt.qf
- query(
- "q",
- "lowerfilt:moon",
- "fl",
- id,
- MoreLikeThisParams.MIN_TERM_FREQ,
- 2,
- MoreLikeThisParams.MIN_DOC_FREQ,
- 1,
- "sort",
- "id_i1 desc",
- "mlt",
- "true",
- "mlt.fl",
- "lowerfilt1,lowerfilt",
- "mlt.qf",
- "lowerfilt1^1.2 lowerfilt^3.4",
- "qt",
- requestHandlerName,
- "shards.qt",
- requestHandlerName,
- "mlt.count",
- "20");
+ "20"));
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedQueryElevationComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedQueryElevationComponentTest.java
index 6a794b8d768..0d1f6759606 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedQueryElevationComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedQueryElevationComponentTest.java
@@ -18,6 +18,7 @@ package org.apache.solr.handler.component;
import org.apache.lucene.util.Constants;
import org.apache.solr.BaseDistributedSearchTestCase;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.request.SolrQuery;
import org.apache.solr.client.solrj.response.JavaBinResponseParser;
import org.apache.solr.client.solrj.response.QueryResponse;
@@ -71,92 +72,91 @@ public class DistributedQueryElevationComponentTest extends
BaseDistributedSearc
handle.put("shards.qt", SKIP);
handle.put("shards", SKIP);
handle.put("q", SKIP);
- handle.put("qt", SKIP);
query(
- "q",
- "*:*",
- "qt",
"/elevate",
- "shards.qt",
- "/elevate",
- "rows",
- "500",
- "sort",
- "id desc",
- CommonParams.FL,
- "id, score, [elevated]");
+ params(
+ "q",
+ "*:*",
+ "shards.qt",
+ "/elevate",
+ "rows",
+ "500",
+ "sort",
+ "id desc",
+ CommonParams.FL,
+ "id, score, [elevated]"));
query(
- "q",
- "ZZZZ",
- "qt",
- "/elevate",
- "shards.qt",
"/elevate",
- "rows",
- "500",
- CommonParams.FL,
- "*, [elevated]",
- "forceElevation",
- "true",
- "sort",
- "int_i desc");
+ params(
+ "q",
+ "ZZZZ",
+ "shards.qt",
+ "/elevate",
+ "rows",
+ "500",
+ CommonParams.FL,
+ "*, [elevated]",
+ "forceElevation",
+ "true",
+ "sort",
+ "int_i desc"));
query(
- "q",
- "solr",
- "qt",
- "/elevate",
- "shards.qt",
"/elevate",
- "rows",
- "500",
- CommonParams.FL,
- "*, [elevated]",
- "forceElevation",
- "true",
- "sort",
- "int_i asc");
+ params(
+ "q",
+ "solr",
+ "shards.qt",
+ "/elevate",
+ "rows",
+ "500",
+ CommonParams.FL,
+ "*, [elevated]",
+ "forceElevation",
+ "true",
+ "sort",
+ "int_i asc"));
query(
- "q",
- "ZZZZ",
- "qt",
"/elevate",
- "shards.qt",
- "/elevate",
- "rows",
- "500",
- CommonParams.FL,
- "*, [elevated]",
- "forceElevation",
- "true",
- "sort",
- "id desc");
-
- // See SOLR-4854 for background on following test code
-
- // Uses XML response format by default
- QueryResponse response =
- query(
+ params(
"q",
- "XXXX",
- "qt",
- "/elevate",
+ "ZZZZ",
"shards.qt",
"/elevate",
"rows",
"500",
CommonParams.FL,
- "id, [elevated]",
- "enableElevation",
- "true",
+ "*, [elevated]",
"forceElevation",
"true",
- "elevateIds",
- "6",
"sort",
- "id desc");
+ "id desc"));
+
+ // See SOLR-4854 for background on following test code
+
+ // Uses XML response format by default
+ QueryResponse response =
+ query(
+ "/elevate",
+ params(
+ "q",
+ "XXXX",
+ "shards.qt",
+ "/elevate",
+ "rows",
+ "500",
+ CommonParams.FL,
+ "id, [elevated]",
+ "enableElevation",
+ "true",
+ "forceElevation",
+ "true",
+ "elevateIds",
+ "6",
+ "sort",
+ "id desc"));
assertTrue(response.getResults().getNumFound() > 0);
SolrDocument document = response.getResults().get(0);
@@ -167,7 +167,6 @@ public class DistributedQueryElevationComponentTest extends
BaseDistributedSearc
assertTrue(client.getParser() instanceof JavaBinResponseParser);
SolrQuery solrQuery =
new SolrQuery("XXXX")
- .setParam("qt", "/elevate")
.setParam("shards.qt", "/elevate")
.setRows(500)
.setFields("id,[elevated]")
@@ -176,7 +175,7 @@ public class DistributedQueryElevationComponentTest extends
BaseDistributedSearc
.setParam("elevateIds", "6")
.setSort("id", SolrQuery.ORDER.desc);
setDistributedParams(solrQuery);
- response = client.query(DEFAULT_TEST_CORENAME, solrQuery);
+ response = new QueryRequest("/elevate", solrQuery).process(client,
DEFAULT_TEST_CORENAME);
assertTrue(response.getResults().getNumFound() > 0);
document = response.getResults().get(0);
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedSpellCheckComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedSpellCheckComponentTest.java
index 3337e87d057..e073ee13b6e 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedSpellCheckComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedSpellCheckComponentTest.java
@@ -22,8 +22,10 @@ import java.util.List;
import org.apache.lucene.tests.util.LuceneTestCase.SuppressTempFileChecks;
import org.apache.solr.BaseDistributedSearchTestCase;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.params.SpellingParams;
import org.apache.solr.common.util.NamedList;
import org.junit.BeforeClass;
@@ -44,20 +46,15 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
useFactory(null); // need an FS factory
}
- private void q(Object... q) throws Exception {
- final ModifiableSolrParams params = new ModifiableSolrParams();
-
- for (int i = 0; i < q.length; i += 2) {
- params.add(q[i].toString(), q[i + 1].toString());
- }
-
- controlClient.query(params);
+ private void q(String handler, SolrParams params) throws Exception {
+ new QueryRequest(handler, params).process(controlClient);
// query a random server
- params.set("shards", shards);
+ final ModifiableSolrParams distribParams = new
ModifiableSolrParams(params);
+ distribParams.set("shards", shards);
int which = r.nextInt(clients.size());
SolrClient client = clients.get(which);
- client.query(params);
+ new QueryRequest(handler, distribParams).process(client);
}
@Override
@@ -140,14 +137,17 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
String maxResults = SpellingParams.SPELLCHECK_MAX_RESULTS_FOR_SUGGEST;
// Build the dictionary for IndexBasedSpellChecker
- q(buildRequest("*:*", false, "/spellCheckCompRH", false, build, "true"));
+ q("/spellCheckCompRH", buildRequest("*:*", false, "/spellCheckCompRH",
false, build, "true"));
// Test Basic Functionality
query(
+ requestHandlerName,
buildRequest("toyata", true, requestHandlerName,
random().nextBoolean(), (String[]) null));
query(
+ requestHandlerName,
buildRequest("toyata", true, requestHandlerName,
random().nextBoolean(), extended, "true"));
query(
+ requestHandlerName,
buildRequest(
"bluo",
true,
@@ -160,6 +160,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
// Test Collate functionality
query(
+ requestHandlerName,
buildRequest(
"The quick reb fox jumped over the lazy brown dogs",
false,
@@ -172,6 +173,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
collate,
"true"));
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(+quock +reb)",
false,
@@ -190,6 +192,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
collateExtended,
"true"));
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(+quock +reb)",
false,
@@ -208,6 +211,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
collateExtended,
"false"));
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(+quock +reb)",
false,
@@ -228,6 +232,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
// Test context-sensitive collate
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(\"quick red fox\")",
false,
@@ -250,6 +255,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
maxResults,
"10"));
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(\"rod fix\")",
false,
@@ -272,6 +278,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
maxResults,
"10"));
query(
+ requestHandlerName,
buildRequest(
"lowerfilt:(\"rod fix\")",
false,
@@ -298,6 +305,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
// Test word-break spellchecker
query(
+ reqHandlerWithWordbreak,
buildRequest(
"lowerfilt:(+quock +redfox +jum +ped)",
false,
@@ -316,6 +324,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
collateExtended,
"true"));
query(
+ reqHandlerWithWordbreak,
buildRequest(
"lowerfilt:(+rodfix)",
false,
@@ -334,6 +343,7 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
collateExtended,
"true"));
query(
+ reqHandlerWithWordbreak,
buildRequest(
"lowerfilt:(+son +ata)",
false,
@@ -362,10 +372,9 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
commit();
query(
+ "/spellCheckCompRH_Direct",
true,
params(
- "qt",
- "/spellCheckCompRH_Direct",
"shards.qt",
"/spellCheckCompRH_Direct",
"rows",
@@ -386,19 +395,22 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
Boolean.toString(random().nextBoolean()),
collateExtended,
Boolean.toString(random().nextBoolean()),
+ // "0" is correctly spelled, in more docs than configured
maxQueryFrequency
"test.expected.suggestions",
- "0", // this word is correctly spelled, in more docs then
configured maxQueryFrequency
+ "0",
+ // echoParams=all needed so validateControlData can see our
+ // test.expected.suggestions
"echoParams",
- "all")); // needed so validateControlData can see our
test.expected.suggestions
+ "all"));
}
- private Object[] buildRequest(
+ private SolrParams buildRequest(
String q,
boolean useSpellcheckQ,
String handlerName,
boolean useGrouping,
String... addlParams) {
- List<Object> params = new ArrayList<>();
+ List<String> params = new ArrayList<>();
params.add("q");
params.add(useSpellcheckQ ? "*:*" : q);
@@ -411,9 +423,6 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
params.add("fl");
params.add("id,lowerfilt");
- params.add("qt");
- params.add(handlerName);
-
params.add("shards.qt");
params.add(handlerName);
@@ -431,6 +440,6 @@ public class DistributedSpellCheckComponentTest extends
BaseDistributedSearchTes
if (addlParams != null) {
params.addAll(Arrays.asList(addlParams));
}
- return params.toArray(new Object[0]);
+ return params(params.toArray(new String[0]));
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedSuggestComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedSuggestComponentTest.java
index e1947ea85c1..6bb4aca627f 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedSuggestComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedSuggestComponentTest.java
@@ -21,6 +21,7 @@ import java.util.Arrays;
import java.util.List;
import org.apache.solr.BaseDistributedSearchTestCase;
import org.apache.solr.client.solrj.response.QueryResponse;
+import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.spelling.suggest.SuggesterParams;
@@ -92,28 +93,37 @@ public class DistributedSuggestComponentTest extends
BaseDistributedSearchTestCa
// Build the suggest dictionary
if (random().nextBoolean()) { // build all the suggesters in one go
- query(buildRequest("", true, requestHandlerName, buildAll, "true"));
+ query(requestHandlerName, buildRequest("", true, requestHandlerName,
buildAll, "true"));
} else { // build suggesters individually
- query(buildRequest("", true, requestHandlerName, build, "true",
dictionaryName, docDictName));
query(
+ requestHandlerName,
+ buildRequest("", true, requestHandlerName, build, "true",
dictionaryName, docDictName));
+ query(
+ requestHandlerName,
buildRequest(
"", true, requestHandlerName, build, "true", dictionaryName,
docExprDictName));
}
// Test Basic Functionality
query(
+ requestHandlerName,
buildRequest(
"exampel", false, requestHandlerName, dictionaryName, docDictName,
count, "2"));
query(
+ requestHandlerName,
buildRequest(
"Yet", false, requestHandlerName, dictionaryName, docExprDictName,
count, "2"));
query(
+ requestHandlerName,
buildRequest(
"blah", true, requestHandlerName, dictionaryName, docExprDictName,
count, "2"));
- query(buildRequest("blah", true, requestHandlerName, dictionaryName,
docDictName, count, "2"));
+ query(
+ requestHandlerName,
+ buildRequest("blah", true, requestHandlerName, dictionaryName,
docDictName, count, "2"));
// Test multiSuggester
query(
+ requestHandlerName,
buildRequest(
"exampel",
false,
@@ -126,9 +136,9 @@ public class DistributedSuggestComponentTest extends
BaseDistributedSearchTestCa
"2"));
}
- private Object[] buildRequest(
+ private SolrParams buildRequest(
String q, boolean useSuggestQ, String handlerName, String... addlParams)
{
- List<Object> params = new ArrayList<>();
+ List<String> params = new ArrayList<>();
if (useSuggestQ) {
params.add("suggest.q");
@@ -137,15 +147,12 @@ public class DistributedSuggestComponentTest extends
BaseDistributedSearchTestCa
}
params.add(q);
- params.add("qt");
- params.add(handlerName);
-
params.add("shards.qt");
params.add(handlerName);
if (addlParams != null) {
params.addAll(Arrays.asList(addlParams));
}
- return params.toArray(new Object[0]);
+ return params(params.toArray(new String[0]));
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/DistributedTermsComponentTest.java
b/solr/core/src/test/org/apache/solr/handler/component/DistributedTermsComponentTest.java
index a64d5d5bfaf..aeb6a34adf6 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/DistributedTermsComponentTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/DistributedTermsComponentTest.java
@@ -17,11 +17,8 @@
package org.apache.solr.handler.component;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.List;
import java.util.Random;
-import java.util.stream.Stream;
import org.apache.solr.BaseDistributedSearchTestCase;
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrServerException;
@@ -49,11 +46,11 @@ public class DistributedTermsComponentTest extends
BaseDistributedSearchTestCase
del("*:*");
index(id, random.nextInt(), "b_t", "snake a,b spider shark snail slug
seal", "foo_i_p", "1");
- query("qt", "/terms", "terms.fl", "foo_i_p");
+ query("/terms", params("terms.fl", "foo_i_p"));
del("*:*");
// verify point field on empty index
- query("qt", "/terms", "terms.fl", "foo_i_p");
+ query("/terms", params("terms.fl", "foo_i_p"));
index(id, random.nextInt(), "b_t", "snake a,b spider shark snail slug
seal", "foo_i", "1");
index(
@@ -102,118 +99,87 @@ public class DistributedTermsComponentTest extends
BaseDistributedSearchTestCase
handle.clear();
handle.put("terms", UNORDERED);
- query("qt", "/terms", "terms.fl", "b_t");
- query("qt", "/terms", "terms.limit", 5, "terms.fl", "b_t", "terms.lower",
"s");
+ query("/terms", params("terms.fl", "b_t"));
+ query("/terms", params("terms.limit", "5", "terms.fl", "b_t",
"terms.lower", "s"));
query(
- "qt",
"/terms",
- "terms.limit",
- 5,
- "terms.fl",
- "b_t",
- "terms.prefix",
- "sn",
- "terms.lower",
- "sn");
+ params("terms.limit", "5", "terms.fl", "b_t", "terms.prefix", "sn",
"terms.lower", "sn"));
query(
- "qt",
"/terms",
- "terms.limit",
- 5,
- "terms.fl",
- "b_t",
- "terms.prefix",
- "s",
- "terms.lower",
- "s",
- "terms.upper",
- "sn");
+ params(
+ "terms.limit", "5",
+ "terms.fl", "b_t",
+ "terms.prefix", "s",
+ "terms.lower", "s",
+ "terms.upper", "sn"));
// terms.sort
query(
- "qt",
"/terms",
- "terms.limit",
- 5,
- "terms.fl",
- "b_t",
- "terms.prefix",
- "s",
- "terms.lower",
- "s",
- "terms.sort",
- "index");
+ params(
+ "terms.limit", "5",
+ "terms.fl", "b_t",
+ "terms.prefix", "s",
+ "terms.lower", "s",
+ "terms.sort", "index"));
query(
- "qt",
"/terms",
- "terms.limit",
- 5,
- "terms.fl",
- "b_t",
- "terms.prefix",
- "s",
- "terms.lower",
- "s",
- "terms.upper",
- "sn",
- "terms.sort",
- "index");
- query("qt", "/terms", "terms.fl", "b_t", "terms.sort", "index");
+ params(
+ "terms.limit", "5",
+ "terms.fl", "b_t",
+ "terms.prefix", "s",
+ "terms.lower", "s",
+ "terms.upper", "sn",
+ "terms.sort", "index"));
+ query("/terms", params("terms.fl", "b_t", "terms.sort", "index"));
// terms.list
- query("qt", "/terms", "terms.fl", "b_t", "terms.list",
"snake,zebra,ant,bad");
- query("qt", "/terms", "terms.fl", "foo_i", "terms.list", "2,3,1");
- query("qt", "/terms", "terms.fl", "foo_i", "terms.stats", "true",
"terms.list", "2,3,1");
- query("qt", "/terms", "terms.fl", "b_t", "terms.list", "snake,zebra",
"terms.ttf", "true");
+ query("/terms", params("terms.fl", "b_t", "terms.list",
"snake,zebra,ant,bad"));
+ query("/terms", params("terms.fl", "foo_i", "terms.list", "2,3,1"));
+ query("/terms", params("terms.fl", "foo_i", "terms.stats", "true",
"terms.list", "2,3,1"));
+ query("/terms", params("terms.fl", "b_t", "terms.list", "snake,zebra",
"terms.ttf", "true"));
query(
- "qt",
"/terms",
- "terms.fl",
- "b_t",
- "terms.fl",
- "c_t",
- "terms.list",
- "snake,ant,zebra",
- "terms.ttf",
- "true");
+ params(
+ "terms.fl", "b_t",
+ "terms.fl", "c_t",
+ "terms.list", "snake,ant,zebra",
+ "terms.ttf", "true"));
// for date point field
- query("qt", "/terms", "terms.fl", "foo_date_p");
+ query("/terms", params("terms.fl", "foo_date_p"));
// terms.ttf=true doesn't work for point fields
- // query("qt", "/terms", "terms.fl", "foo_date_p", "terms.ttf", "true");
+ // query("/terms", params("terms.fl", "foo_date_p", "terms.ttf", "true"));
}
@Override
- protected QueryResponse query(Object... q) throws Exception {
- if (Stream.of(q).noneMatch(s -> s.equals("terms.list"))) {
+ protected QueryResponse query(String requestHandler, SolrParams p) throws
Exception {
+ if (p.get("terms.list") == null) {
// SOLR-9243 doesn't support max/min count
- for (int i = 0; i < q.length; i += 2) {
- if ((q[i].equals("terms.sort") && q[i + 1].equals("index")) ||
rarely()) {
- List<Object> params = new ArrayList<>(Arrays.asList(q));
- if (usually()) {
- params.add("terms.mincount");
- params.add(random().nextInt(4) - 1);
- }
- if (usually()) {
- params.add("terms.maxcount");
- params.add(random().nextInt(4) - 1);
- }
- q = params.toArray(new Object[0]);
- break;
+ if ("index".equals(p.get("terms.sort")) || rarely()) {
+ ModifiableSolrParams params = new ModifiableSolrParams(p);
+ if (usually()) {
+ params.set("terms.mincount", String.valueOf(random().nextInt(4) -
1));
+ }
+ if (usually()) {
+ params.set("terms.maxcount", String.valueOf(random().nextInt(4) -
1));
}
+ p = params;
}
}
- return super.query(q);
+ return super.query(requestHandler, p);
}
@Override
- protected QueryResponse query(boolean setDistribParams, SolrParams p) throws
Exception {
- QueryResponse queryResponse = super.query(setDistribParams, p);
+ protected QueryResponse query(String requestHandler, boolean
setDistribParams, SolrParams p)
+ throws Exception {
+ QueryResponse queryResponse = super.query(requestHandler,
setDistribParams, p);
final ModifiableSolrParams params = new ModifiableSolrParams(p);
// TODO: look into why passing true causes fails
params.set("distrib", "false");
for (ResponseParser responseParser : getResponseParsers()) {
- final NamedList<Object> controlRsp = queryClient(controlClient, params,
responseParser);
+ final NamedList<Object> controlRsp =
+ queryClient(controlClient, requestHandler, params, responseParser);
params.remove("distrib");
if (setDistribParams) {
setDistributedParams(params);
@@ -222,7 +188,7 @@ public class DistributedTermsComponentTest extends
BaseDistributedSearchTestCase
// query a random server
int which = r.nextInt(clients.size());
SolrClient client = clients.get(which);
- NamedList<Object> rsp = queryClient(client, params, responseParser);
+ NamedList<Object> rsp = queryClient(client, requestHandler, params,
responseParser);
// flags needs to be called here since only terms response is passed to
compare
// other way is to pass whole response to compare
@@ -241,9 +207,12 @@ public class DistributedTermsComponentTest extends
BaseDistributedSearchTestCase
* responseParser}
*/
private NamedList<Object> queryClient(
- SolrClient solrClient, final ModifiableSolrParams params, ResponseParser
responseParser)
+ SolrClient solrClient,
+ String requestHandler,
+ final ModifiableSolrParams params,
+ ResponseParser responseParser)
throws SolrServerException, IOException {
- QueryRequest queryRequest = new QueryRequest(params);
+ QueryRequest queryRequest = new QueryRequest(requestHandler, params);
queryRequest.setResponseParser(responseParser);
return solrClient.request(queryRequest);
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
b/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
index 0389ed1b189..6a8457fde0c 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/TermVectorComponentDistributedTest.java
@@ -135,181 +135,181 @@ public class TermVectorComponentDistributedTest extends
BaseDistributedSearchTes
for (String q : new String[] {"id:0", "id:7", "id:[3 TO 6]", "*:*"}) {
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// tv.fl diff from fl
query(
- "sort",
- "id asc",
- "qt",
tv,
- "q",
- q,
- "fl",
- "*,score",
- "tv.fl",
- "test_basictv,test_offtv",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id asc",
+ "q",
+ q,
+ "fl",
+ "*,score",
+ "tv.fl",
+ "test_basictv,test_offtv",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// multi-valued tv.fl
query(
- "sort",
- "id asc",
- "qt",
tv,
- "q",
- q,
- "fl",
- "*,score",
- "tv.fl",
- "test_basictv",
- "tv.fl",
- "test_offtv",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id asc",
+ "q",
+ q,
+ "fl",
+ "*,score",
+ "tv.fl",
+ "test_basictv",
+ "tv.fl",
+ "test_offtv",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// re-use fl glob
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- "fl",
- "*,score",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ "fl",
+ "*,score",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// re-use fl, ignore things we can't handle
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- "fl",
- "score,test_basictv,[docid],test_postv,val:sum(3,4)",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ "fl",
+ "score,test_basictv,[docid],test_postv,val:sum(3,4)",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// re-use (multi-valued) fl, ignore things we can't handle
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- "fl",
- "score,test_basictv",
- "fl",
- "[docid],test_postv,val:sum(3,4)",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ "fl",
+ "score,test_basictv",
+ "fl",
+ "[docid],test_postv,val:sum(3,4)",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true"));
// test some other options
query(
- "sort",
- "id asc",
- "qt",
tv,
- "q",
- q,
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true",
- TermVectorParams.DF,
- "true",
- TermVectorParams.OFFSETS,
- "true",
- TermVectorParams.POSITIONS,
- "true",
- TermVectorParams.TF_IDF,
- "true");
+ params(
+ "sort",
+ "id asc",
+ "q",
+ q,
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true",
+ TermVectorParams.DF,
+ "true",
+ TermVectorParams.OFFSETS,
+ "true",
+ TermVectorParams.POSITIONS,
+ "true",
+ TermVectorParams.TF_IDF,
+ "true"));
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.ALL,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.ALL,
+ "true"));
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- "rows",
- 1,
- ShardParams.DISTRIB_SINGLE_PASS,
- "true",
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.ALL,
- "true");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ "rows",
+ "1",
+ ShardParams.DISTRIB_SINGLE_PASS,
+ "true",
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.ALL,
+ "true"));
// per field stuff
query(
- "sort",
- "id desc",
- "qt",
tv,
- "q",
- q,
- TermVectorComponent.COMPONENT_NAME,
- "true",
- TermVectorParams.TF,
- "true",
- TermVectorParams.DF,
- "true",
- TermVectorParams.OFFSETS,
- "true",
- TermVectorParams.POSITIONS,
- "true",
- TermVectorParams.TF_IDF,
- "true",
- TermVectorParams.FIELDS,
- "test_basictv,test_notv,test_postv,test_offtv,test_posofftv",
- "f.test_posofftv." + TermVectorParams.POSITIONS,
- "false",
- "f.test_offtv." + TermVectorParams.OFFSETS,
- "false",
- "f.test_basictv." + TermVectorParams.DF,
- "false",
- "f.test_basictv." + TermVectorParams.TF,
- "false",
- "f.test_basictv." + TermVectorParams.TF_IDF,
- "false");
+ params(
+ "sort",
+ "id desc",
+ "q",
+ q,
+ TermVectorComponent.COMPONENT_NAME,
+ "true",
+ TermVectorParams.TF,
+ "true",
+ TermVectorParams.DF,
+ "true",
+ TermVectorParams.OFFSETS,
+ "true",
+ TermVectorParams.POSITIONS,
+ "true",
+ TermVectorParams.TF_IDF,
+ "true",
+ TermVectorParams.FIELDS,
+ "test_basictv,test_notv,test_postv,test_offtv,test_posofftv",
+ "f.test_posofftv." + TermVectorParams.POSITIONS,
+ "false",
+ "f.test_offtv." + TermVectorParams.OFFSETS,
+ "false",
+ "f.test_basictv." + TermVectorParams.DF,
+ "false",
+ "f.test_basictv." + TermVectorParams.TF,
+ "false",
+ "f.test_basictv." + TermVectorParams.TF_IDF,
+ "false"));
}
}
}
diff --git
a/solr/core/src/test/org/apache/solr/handler/component/UpdateLogCloudTest.java
b/solr/core/src/test/org/apache/solr/handler/component/UpdateLogCloudTest.java
index c36da38c8cd..fcc0efde3ba 100644
---
a/solr/core/src/test/org/apache/solr/handler/component/UpdateLogCloudTest.java
+++
b/solr/core/src/test/org/apache/solr/handler/component/UpdateLogCloudTest.java
@@ -129,7 +129,7 @@ public class UpdateLogCloudTest extends SolrCloudTestCase {
@SuppressWarnings("unchecked")
private void implTest(SolrClient solrClient, int numExpected) throws
Exception {
- final QueryRequest reqV = new QueryRequest(params("qt", "/get",
"getVersions", "12345"));
+ final QueryRequest reqV = new QueryRequest("/get", params("getVersions",
"12345"));
final NamedList<?> rspV = solrClient.request(reqV, COLLECTION);
final List<Long> versions = (List<Long>) rspV.get("versions");
assertEquals(versions.toString(), numExpected, versions.size());
@@ -145,9 +145,8 @@ public class UpdateLogCloudTest extends SolrCloudTestCase {
for (boolean skipDbq : new boolean[] {false, true}) {
final QueryRequest reqU =
new QueryRequest(
+ "/get",
params(
- "qt",
- "/get",
"getUpdates",
minVersion + "..." + maxVersion,
"skipDbq",
diff --git
a/solr/core/src/test/org/apache/solr/search/json/TestJsonRequestWithEdismaxDefType.java
b/solr/core/src/test/org/apache/solr/search/json/TestJsonRequestWithEdismaxDefType.java
index 806c57f72c8..9ff6bd8db81 100644
---
a/solr/core/src/test/org/apache/solr/search/json/TestJsonRequestWithEdismaxDefType.java
+++
b/solr/core/src/test/org/apache/solr/search/json/TestJsonRequestWithEdismaxDefType.java
@@ -66,7 +66,7 @@ public class TestJsonRequestWithEdismaxDefType extends
SolrTestCaseJ4 {
private static void doQuery(SolrClient client) throws Exception {
final var jsonQuery =
"{\"query\":{\"bool\":{\"should\":[{\"lucene\":{\"query\":\"id:1\"}},
\"id:2\"]}}}";
- final var req = new QueryRequest(params("json", jsonQuery, "qt",
"/query"), METHOD.POST);
+ final var req = new QueryRequest("/query", params("json", jsonQuery),
METHOD.POST);
final var rsp = req.process(client);
assertEquals(2, rsp.getResults().getNumFound());
}
diff --git a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
index ebb46d43e81..9e733abc19e 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncTest.java
@@ -421,13 +421,10 @@ public class PeerSyncTest extends
BaseDistributedSearchTestCase {
throws IOException, SolrServerException {
QueryRequest qr =
new QueryRequest(
+ "/get",
params(
- "qt",
- "/get",
- "getVersions",
- Integer.toString(numVersions),
- "sync",
- StrUtils.join(Arrays.asList(syncWith), ',')));
+ "getVersions", Integer.toString(numVersions),
+ "sync", StrUtils.join(Arrays.asList(syncWith), ',')));
NamedList<?> rsp = client.request(qr);
assertEquals(expectedResult, (Boolean) rsp.get("sync"));
}
diff --git
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithBufferUpdatesTest.java
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithBufferUpdatesTest.java
index f1fa5587115..d3932f7a304 100644
---
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithBufferUpdatesTest.java
+++
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithBufferUpdatesTest.java
@@ -193,13 +193,8 @@ public class PeerSyncWithBufferUpdatesTest extends
BaseDistributedSearchTestCase
throws IOException, SolrServerException {
QueryRequest qr =
new QueryRequest(
- params(
- "qt",
- "/get",
- "getVersions",
- Integer.toString(numVersions),
- "syncWithLeader",
- syncWith));
+ "/get",
+ params("getVersions", Integer.toString(numVersions),
"syncWithLeader", syncWith));
NamedList<?> rsp = client.request(qr);
assertEquals(true, rsp.get("syncWithLeader"));
}
diff --git
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithIndexFingerprintCachingTest.java
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithIndexFingerprintCachingTest.java
index 02e62252efa..b08f5764127 100644
---
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithIndexFingerprintCachingTest.java
+++
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithIndexFingerprintCachingTest.java
@@ -91,8 +91,7 @@ public class PeerSyncWithIndexFingerprintCachingTest extends
BaseDistributedSear
IndexFingerprint getFingerprint(SolrClient client, long maxVersion)
throws IOException, SolrServerException {
- QueryRequest qr =
- new QueryRequest(params("qt", "/get", "getFingerprint",
Long.toString(maxVersion)));
+ QueryRequest qr = new QueryRequest("/get", params("getFingerprint",
Long.toString(maxVersion)));
NamedList<?> rsp = client.request(qr);
return IndexFingerprint.fromObject(rsp.get("fingerprint"));
}
@@ -101,13 +100,10 @@ public class PeerSyncWithIndexFingerprintCachingTest
extends BaseDistributedSear
throws IOException, SolrServerException {
QueryRequest qr =
new QueryRequest(
+ "/get",
params(
- "qt",
- "/get",
- "getVersions",
- Integer.toString(numVersions),
- "sync",
- StrUtils.join(Arrays.asList(syncWith), ',')));
+ "getVersions", Integer.toString(numVersions),
+ "sync", StrUtils.join(Arrays.asList(syncWith), ',')));
NamedList<?> rsp = client.request(qr);
assertEquals(true, rsp.get("sync"));
}
diff --git
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderAndIndexFingerprintCachingTest.java
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderAndIndexFingerprintCachingTest.java
index 0f048e79c47..6b0d5365eeb 100644
---
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderAndIndexFingerprintCachingTest.java
+++
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderAndIndexFingerprintCachingTest.java
@@ -32,13 +32,10 @@ public class
PeerSyncWithLeaderAndIndexFingerprintCachingTest
throws IOException, SolrServerException {
QueryRequest qr =
new QueryRequest(
+ "/get",
params(
- "qt",
- "/get",
- "getVersions",
- Integer.toString(numVersions),
- "syncWithLeader",
- StrUtils.join(Arrays.asList(syncWith), ',')));
+ "getVersions", Integer.toString(numVersions),
+ "syncWithLeader", StrUtils.join(Arrays.asList(syncWith),
',')));
@SuppressWarnings({"rawtypes"})
NamedList rsp = client.request(qr);
assertEquals(true, (Boolean) rsp.get("syncWithLeader"));
diff --git
a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
index 6e83e278c63..c84cbd51ba3 100644
--- a/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
+++ b/solr/core/src/test/org/apache/solr/update/PeerSyncWithLeaderTest.java
@@ -53,13 +53,10 @@ public class PeerSyncWithLeaderTest extends PeerSyncTest {
throws IOException, SolrServerException {
QueryRequest qr =
new QueryRequest(
+ "/get",
params(
- "qt",
- "/get",
- "getVersions",
- Integer.toString(numVersions),
- "syncWithLeader",
- StrUtils.join(Arrays.asList(syncWith), ',')));
+ "getVersions", Integer.toString(numVersions),
+ "syncWithLeader", StrUtils.join(Arrays.asList(syncWith),
',')));
NamedList<?> rsp = client.request(qr);
assertEquals(expectedResult, rsp.get("syncWithLeader"));
}