From 89e35216db9460c71abae6b250cc52e166ad97d5 Mon Sep 17 00:00:00 2001 From: Arup Chauhan Date: Sun, 5 Jul 2026 23:42:15 -0500 Subject: [PATCH] Add multithreaded eval baseline Signed-off-by: Arup Chauhan --- .../search/ExitableDirectoryReaderSearch.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/solr/benchmark/src/java/org/apache/solr/bench/search/ExitableDirectoryReaderSearch.java b/solr/benchmark/src/java/org/apache/solr/bench/search/ExitableDirectoryReaderSearch.java index 0365fe004105..a3efdb133b74 100644 --- a/solr/benchmark/src/java/org/apache/solr/bench/search/ExitableDirectoryReaderSearch.java +++ b/solr/benchmark/src/java/org/apache/solr/bench/search/ExitableDirectoryReaderSearch.java @@ -26,6 +26,7 @@ import org.apache.solr.bench.Docs; import org.apache.solr.bench.SolrBenchState; import org.apache.solr.client.solrj.request.CollectionAdminRequest; +import org.apache.solr.common.params.CommonParams; import org.apache.solr.client.solrj.request.QueryRequest; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.SolrInputDocument; @@ -112,6 +113,9 @@ public void setupTrial(SolrBenchState solrBenchState) throws Exception { @Param({"false", "true"}) boolean verifyEDRInUse = true; + @Param({"false", "true"}) + boolean multiThreaded = false; + private static final String matchExpression = "ExitableTermsEnum:-1"; @Setup(Level.Iteration) @@ -151,9 +155,12 @@ public void tearDownTrial() throws Exception { } } - private static ModifiableSolrParams createInitialParams() { + private static ModifiableSolrParams createInitialParams(BenchState state) { ModifiableSolrParams params = SolrBenchState.params("rows", "100", "timeAllowed", "1000", "fl", "*"); + if (state.multiThreaded) { + params.set(CommonParams.MULTI_THREADED, "true"); + } return params; } @@ -161,7 +168,7 @@ private static ModifiableSolrParams createInitialParams() { public void testShortQuery(SolrBenchState solrBenchState, Blackhole bh, BenchState state) throws Exception { SolrInputDocument queryDoc = state.queryFields.inputDocument(); - ModifiableSolrParams params = createInitialParams(); + ModifiableSolrParams params = createInitialParams(state); params.set("q", "f1_ts:" + queryDoc.getFieldValue("f1_ts").toString()); QueryRequest queryRequest = new QueryRequest(params); QueryResponse rsp = queryRequest.process(solrBenchState.client, COLLECTION); @@ -172,7 +179,7 @@ public void testShortQuery(SolrBenchState solrBenchState, Blackhole bh, BenchSta public void testLongQuery(SolrBenchState solrBenchState, Blackhole bh, BenchState state) throws Exception { SolrInputDocument queryDoc = state.queryFields.inputDocument(); - ModifiableSolrParams params = createInitialParams(); + ModifiableSolrParams params = createInitialParams(state); StringBuilder query = new StringBuilder(); for (int i = 2; i < 10; i++) { if (query.length() > 0) { @@ -186,4 +193,14 @@ public void testLongQuery(SolrBenchState solrBenchState, Blackhole bh, BenchStat QueryResponse rsp = queryRequest.process(solrBenchState.client, COLLECTION); bh.consume(rsp); } + + @Benchmark + public void testRangeQuery(SolrBenchState solrBenchState, Blackhole bh, BenchState state) + throws Exception { + ModifiableSolrParams params = createInitialParams(state); + params.set("q", "id:[0 TO 250000]"); + QueryRequest queryRequest = new QueryRequest(params); + QueryResponse rsp = queryRequest.process(solrBenchState.client, COLLECTION); + bh.consume(rsp); + } }