You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2021/02/21 14:15:04 UTC
[lucene-solr] branch reference_impl_dev updated: @1360 Cleaning up
test before/after class.
This is an automated email from the ASF dual-hosted git repository.
markrmiller pushed a commit to branch reference_impl_dev
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git
The following commit(s) were added to refs/heads/reference_impl_dev by this push:
new ab58942 @1360 Cleaning up test before/after class.
ab58942 is described below
commit ab589429a7601f04946e15968df6a820c10f238d
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Feb 21 08:14:32 2021 -0600
@1360 Cleaning up test before/after class.
Took 38 minutes
---
.../test/org/apache/solr/TestRandomDVFaceting.java | 5 +-
.../analysis/ProtectedTermFilterFactoryTest.java | 8 +-
.../TestReversedWildcardFilterFactory.java | 6 +
.../apache/solr/cloud/SolrCloudBridgeTestCase.java | 7 +-
.../apache/solr/core/TestMergePolicyConfig.java | 3 +-
.../apache/solr/core/TestQuerySenderListener.java | 7 +-
.../component/QueryElevationComponentTest.java | 943 ++++++++-------------
.../apache/solr/request/TestIntervalFaceting.java | 1 -
.../org/apache/solr/response/JSONWriterTest.java | 6 +
.../response/TestPHPSerializedResponseWriter.java | 6 +
.../solr/response/TestRawResponseWriter.java | 6 +-
.../test/org/apache/solr/schema/CopyFieldTest.java | 8 +-
.../org/apache/solr/schema/DocValuesMultiTest.java | 14 +
.../test/org/apache/solr/schema/EnumFieldTest.java | 12 +-
.../solr/schema/ExternalFileFieldSortTest.java | 15 +-
.../test/org/apache/solr/schema/PolyFieldTest.java | 6 +
.../apache/solr/schema/PrimitiveFieldTypeTest.java | 4 +
.../org/apache/solr/schema/RequiredFieldsTest.java | 6 +
.../apache/solr/schema/TestSortableTextField.java | 8 +-
.../org/apache/solr/search/CursorMarkTest.java | 8 +-
.../apache/solr/search/TestStressUserVersions.java | 8 +-
.../join/another/BJQFilterAccessibleTest.java | 6 +
.../solr/spelling/IndexBasedSpellCheckerTest.java | 3 +-
.../SpellCheckCollatorWithCollapseTest.java | 2 +-
.../update/processor/NestedAtomicUpdateTest.java | 6 +-
.../UpdateRequestProcessorFactoryTest.java | 6 +
.../apache/solr/util/TestMaxTokenLenTokenizer.java | 6 +
.../solr/client/solrj/TestSolrJErrorHandling.java | 6 +
.../client/solrj/embedded/TestSolrProperties.java | 4 -
.../solrj/response/TestSpellCheckResponse.java | 6 +
.../solrj/response/TestSuggesterResponse.java | 6 +
.../src/java/org/apache/solr/SolrTestCase.java | 4 +-
32 files changed, 516 insertions(+), 626 deletions(-)
diff --git a/solr/core/src/test/org/apache/solr/TestRandomDVFaceting.java b/solr/core/src/test/org/apache/solr/TestRandomDVFaceting.java
index 68f2284..650c311 100644
--- a/solr/core/src/test/org/apache/solr/TestRandomDVFaceting.java
+++ b/solr/core/src/test/org/apache/solr/TestRandomDVFaceting.java
@@ -50,7 +50,8 @@ public class TestRandomDVFaceting extends SolrTestCaseJ4 {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@Before
- public void beforeTests() throws Exception {
+ public void setUp() throws Exception {
+ super.setUp();
System.setProperty("enable.update.log", "false");
// This tests explicitly compares Trie DV with non-DV Trie with DV Points
// so we don't want randomized DocValues on all Trie fields
@@ -72,8 +73,8 @@ public class TestRandomDVFaceting extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
- super.tearDown();
deleteCore();
+ super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/analysis/ProtectedTermFilterFactoryTest.java b/solr/core/src/test/org/apache/solr/analysis/ProtectedTermFilterFactoryTest.java
index 3d7c23b..b065991 100644
--- a/solr/core/src/test/org/apache/solr/analysis/ProtectedTermFilterFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/analysis/ProtectedTermFilterFactoryTest.java
@@ -26,15 +26,21 @@ import org.apache.lucene.analysis.miscellaneous.ProtectedTermFilterFactory;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.SolrTestUtil;
import org.apache.solr.core.SolrResourceLoader;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
public class ProtectedTermFilterFactoryTest extends SolrTestCaseJ4 {
@BeforeClass
- public static void beforeClass() throws Exception {
+ public static void beforeProtectedTermFilterFactoryTest() throws Exception {
initCore("solrconfig.xml","schema-protected-term.xml");
}
+ @AfterClass
+ public static void afterProtectedTermFilterFactoryTest() {
+ deleteCore();
+ }
+
public void testBasic() throws Exception {
String text = "Wuthering FooBar distant goldeN ABC compote";
Map<String,String> args = new HashMap<>();
diff --git a/solr/core/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java b/solr/core/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java
index 0486abe..81add37 100644
--- a/solr/core/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java
+++ b/solr/core/src/test/org/apache/solr/analysis/TestReversedWildcardFilterFactory.java
@@ -41,6 +41,7 @@ import org.apache.solr.schema.IndexSchemaFactory;
import org.apache.solr.search.QParser;
import org.apache.solr.search.SolrQueryParser;
import org.apache.solr.search.SyntaxError;
+import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -56,6 +57,11 @@ public class TestReversedWildcardFilterFactory extends SolrTestCaseJ4 {
assumeWorkingMockito();
initCore("solrconfig.xml","schema-reversed.xml");
}
+
+ @AfterClass
+ public static void afterTestReversedWildcardFilterFactory() {
+ deleteCore();
+ }
@Override
@Before
diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
index 1e0bed6..755a848 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudBridgeTestCase.java
@@ -148,7 +148,8 @@ public abstract class SolrCloudBridgeTestCase extends SolrCloudTestCase {
@Before
- public void beforeSolrCloudBridgeTestCase() throws Exception {
+ public void setUp() throws Exception {
+ super.setUp();
Path TEST_PATH = SolrTestUtil.getFile("solr/collection1").getParentFile().toPath();
COLLECTION = "collection" + collectionCount.incrementAndGet();
@@ -238,7 +239,7 @@ public abstract class SolrCloudBridgeTestCase extends SolrCloudTestCase {
}
@After
- public void cleanup() throws Exception {
+ public void tearDown() throws Exception {
if (cluster != null) cluster.shutdown();
if (controlCluster != null) controlCluster.shutdown();
cluster = null;
@@ -250,6 +251,7 @@ public abstract class SolrCloudBridgeTestCase extends SolrCloudTestCase {
}
clients.clear();
controlClient = null;
+ super.tearDown();
}
@BeforeClass
@@ -268,7 +270,6 @@ public abstract class SolrCloudBridgeTestCase extends SolrCloudTestCase {
}
newClients.clear();
cloudClient = null;
- newClients.clear();
extraServlets = null;
createCollection1 = true;
createControl = false;
diff --git a/solr/core/src/test/org/apache/solr/core/TestMergePolicyConfig.java b/solr/core/src/test/org/apache/solr/core/TestMergePolicyConfig.java
index 5fb20bb..7dbaf96 100644
--- a/solr/core/src/test/org/apache/solr/core/TestMergePolicyConfig.java
+++ b/solr/core/src/test/org/apache/solr/core/TestMergePolicyConfig.java
@@ -46,8 +46,9 @@ public class TestMergePolicyConfig extends SolrTestCaseJ4 {
private static AtomicInteger docIdCounter = new AtomicInteger(42);
@After
- public void after() throws Exception {
+ public void tearDown() throws Exception {
deleteCore();
+ super.tearDown();
}
public void testSetNoCFSMergePolicyConfig() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java b/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java
index 246dda0..3a2a4f7 100644
--- a/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java
+++ b/solr/core/src/test/org/apache/solr/core/TestQuerySenderListener.java
@@ -18,6 +18,7 @@ package org.apache.solr.core;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.EventParams;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -31,7 +32,7 @@ public class TestQuerySenderListener extends SolrTestCaseJ4 {
private static int preInitMockListenerCount = 0;
@BeforeClass
- public static void beforeClass() throws Exception {
+ public static void beforeTestQuerySenderListener() throws Exception {
// record current value prior to core initialization
// so we can verify the correct number of instances later
// NOTE: this won't work properly if concurrent tests run
@@ -39,7 +40,11 @@ public class TestQuerySenderListener extends SolrTestCaseJ4 {
preInitMockListenerCount = MockEventListener.getCreateCount();
initCore("solrconfig-querysender.xml","schema.xml");
+ }
+ @AfterClass
+ public static void afterTestQuerySenderListener() {
+ deleteCore();
}
public void testListenerCreationCounts() {
diff --git a/solr/core/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java
index c94b5ba..67b5349 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/QueryElevationComponentTest.java
@@ -39,6 +39,7 @@ import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.FileUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -49,8 +50,7 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- @BeforeClass
- public static void beforeClass() {
+ @BeforeClass public static void beforeClass() {
switch (random().nextInt(3)) {
case 0:
System.setProperty("solr.tests.id.stored", "true");
@@ -70,9 +70,7 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
}
}
- @Before
- @Override
- public void setUp() throws Exception {
+ @Before @Override public void setUp() throws Exception {
super.setUp();
}
@@ -87,471 +85,303 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
File elevateDataFile = new File(initAndGetDataDir(), "elevate-data.xml");
FileUtils.copyFile(elevateFile, elevateDataFile);
-
- initCore(config,schema);
+ initCore(config, schema);
clearIndex();
assertU(commit());
}
- //TODO should be @After ?
- private void delete() {
+ @After public void tearDown() throws Exception {
deleteCore();
+ super.tearDown();
}
- @Test
- public void testFieldType() throws Exception {
- try {
- init("schema11.xml");
- clearIndex();
- assertU(commit());
- assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a"));
- assertU(adoc("id", "2", "text", "YYYY", "str_s", "b"));
- assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c"));
-
- assertU(adoc("id", "4", "text", "XXXX XXXX", "str_s", "x"));
- assertU(adoc("id", "5", "text", "YYYY YYYY", "str_s", "y"));
- assertU(adoc("id", "6", "text", "XXXX XXXX", "str_s", "z"));
- assertU(adoc("id", "7", "text", "AAAA", "str_s", "a"));
- assertU(adoc("id", "8", "text", "AAAA", "str_s", "a"));
- assertU(adoc("id", "9", "text", "AAAA AAAA", "str_s", "a"));
- assertU(commit());
+ @Test public void testFieldType() throws Exception {
+
+ init("schema11.xml");
+ clearIndex();
+ assertU(commit());
+ assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a"));
+ assertU(adoc("id", "2", "text", "YYYY", "str_s", "b"));
+ assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c"));
+
+ assertU(adoc("id", "4", "text", "XXXX XXXX", "str_s", "x"));
+ assertU(adoc("id", "5", "text", "YYYY YYYY", "str_s", "y"));
+ assertU(adoc("id", "6", "text", "XXXX XXXX", "str_s", "z"));
+ assertU(adoc("id", "7", "text", "AAAA", "str_s", "a"));
+ assertU(adoc("id", "8", "text", "AAAA", "str_s", "a"));
+ assertU(adoc("id", "9", "text", "AAAA AAAA", "str_s", "a"));
+ assertU(commit());
+
+ assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[2]/str[@name='id'][.='9']", "//result/doc[3]/str[@name='id'][.='8']",
+ "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='false']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='false']");
- assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='3']"
- , "//result/doc[1]/str[@name='id'][.='7']"
- , "//result/doc[2]/str[@name='id'][.='9']"
- , "//result/doc[3]/str[@name='id'][.='8']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='false']",
- "//result/doc[3]/bool[@name='[elevated]'][.='false']"
- );
- } finally {
- delete();
- }
}
- @Test
- public void testGroupedQuery() throws Exception {
- try {
- init("schema11.xml");
- clearIndex();
- assertU(commit());
- assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a"));
- assertU(adoc("id", "2", "text", "XXXX AAAA", "str_s", "b"));
- assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c"));
- assertU(adoc("id", "4", "text", "XXXX ZZZZ", "str_s", "d"));
- assertU(adoc("id", "5", "text", "ZZZZ ZZZZ", "str_s", "e"));
- assertU(adoc("id", "6", "text", "AAAA AAAA AAAA", "str_s", "f"));
- assertU(adoc("id", "7", "text", "AAAA AAAA ZZZZ", "str_s", "g"));
- assertU(adoc("id", "8", "text", "XXXX", "str_s", "h"));
- assertU(adoc("id", "9", "text", "YYYY ZZZZ", "str_s", "i"));
-
- assertU(adoc("id", "22", "text", "XXXX ZZZZ AAAA", "str_s", "b"));
- assertU(adoc("id", "66", "text", "XXXX ZZZZ AAAA", "str_s", "f"));
- assertU(adoc("id", "77", "text", "XXXX ZZZZ AAAA", "str_s", "g"));
+ @Test public void testGroupedQuery() throws Exception {
- assertU(commit());
+ init("schema11.xml");
+ clearIndex();
+ assertU(commit());
+ assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a"));
+ assertU(adoc("id", "2", "text", "XXXX AAAA", "str_s", "b"));
+ assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c"));
+ assertU(adoc("id", "4", "text", "XXXX ZZZZ", "str_s", "d"));
+ assertU(adoc("id", "5", "text", "ZZZZ ZZZZ", "str_s", "e"));
+ assertU(adoc("id", "6", "text", "AAAA AAAA AAAA", "str_s", "f"));
+ assertU(adoc("id", "7", "text", "AAAA AAAA ZZZZ", "str_s", "g"));
+ assertU(adoc("id", "8", "text", "XXXX", "str_s", "h"));
+ assertU(adoc("id", "9", "text", "YYYY ZZZZ", "str_s", "i"));
+
+ assertU(adoc("id", "22", "text", "XXXX ZZZZ AAAA", "str_s", "b"));
+ assertU(adoc("id", "66", "text", "XXXX ZZZZ AAAA", "str_s", "f"));
+ assertU(adoc("id", "77", "text", "XXXX ZZZZ AAAA", "str_s", "g"));
+
+ assertU(commit());
+
+ final String groups = "//arr[@name='groups']";
+
+ assertQ("non-elevated group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", GroupParams.GROUP_FIELD, "str_s", GroupParams.GROUP, "true", GroupParams.GROUP_TOTAL_COUNT,
+ "true", GroupParams.GROUP_LIMIT, "100", QueryElevationParams.ENABLE, "false", CommonParams.FL, "id, score, [elevated]"),
+ "//*[@name='ngroups'][.='3']", "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='6']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='66']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='7']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='77']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='2']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='22']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']");
+
+ assertQ("elevated group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", GroupParams.GROUP_FIELD, "str_s", GroupParams.GROUP, "true", GroupParams.GROUP_TOTAL_COUNT,
+ "true", GroupParams.GROUP_LIMIT, "100", CommonParams.FL, "id, score, [elevated]"), "//*[@name='ngroups'][.='3']", "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='7']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='77']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='6']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='66']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='2']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='22']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']");
+
+ assertQ("non-elevated because sorted group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.SORT, "id asc", GroupParams.GROUP_FIELD, "str_s", GroupParams.GROUP, "true",
+ GroupParams.GROUP_TOTAL_COUNT, "true", GroupParams.GROUP_LIMIT, "100", CommonParams.FL, "id, score, [elevated]"), "//*[@name='ngroups'][.='3']",
+ "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='2']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='22']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='6']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='66']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='7']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='true']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='77']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']");
+
+ assertQ("force-elevated sorted group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.SORT, "id asc", QueryElevationParams.FORCE_ELEVATION, "true",
+ GroupParams.GROUP_FIELD, "str_s", GroupParams.GROUP, "true", GroupParams.GROUP_TOTAL_COUNT, "true", GroupParams.GROUP_LIMIT, "100", CommonParams.FL,
+ "id, score, [elevated]"), "//*[@name='ngroups'][.='3']", "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='7']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='77']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='2']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='22']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='6']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='66']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']");
+
+ assertQ("non-elevated because of sort within group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.SORT, "id asc", GroupParams.GROUP_SORT, "id desc", GroupParams.GROUP_FIELD,
+ "str_s", GroupParams.GROUP, "true", GroupParams.GROUP_TOTAL_COUNT, "true", GroupParams.GROUP_LIMIT, "100", CommonParams.FL,
+ "id, score, [elevated]"), "//*[@name='ngroups'][.='3']", "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='22']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='2']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='66']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='6']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='77']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='7']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='true']");
+
+ assertQ("force elevated sort within sorted group query",
+ req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.SORT, "id asc", GroupParams.GROUP_SORT, "id desc",
+ QueryElevationParams.FORCE_ELEVATION, "true", GroupParams.GROUP_FIELD, "str_s", GroupParams.GROUP, "true", GroupParams.GROUP_TOTAL_COUNT, "true",
+ GroupParams.GROUP_LIMIT, "100", CommonParams.FL, "id, score, [elevated]"), "//*[@name='ngroups'][.='3']", "//*[@name='matches'][.='6']"
+
+ , groups + "/lst[1]//doc[1]/str[@name='id'][.='7']", groups + "/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']",
+ groups + "/lst[1]//doc[2]/str[@name='id'][.='77']", groups + "/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[2]//doc[1]/str[@name='id'][.='22']", groups + "/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[2]//doc[2]/str[@name='id'][.='2']", groups + "/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
+
+ , groups + "/lst[3]//doc[1]/str[@name='id'][.='66']", groups + "/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']",
+ groups + "/lst[3]//doc[2]/str[@name='id'][.='6']", groups + "/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']");
- final String groups = "//arr[@name='groups']";
-
- assertQ("non-elevated group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- QueryElevationParams.ENABLE, "false",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='6']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='66']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='7']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='77']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='2']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='22']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']"
- );
-
- assertQ("elevated group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='7']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='77']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='6']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='66']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='2']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='22']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']"
- );
-
- assertQ("non-elevated because sorted group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- CommonParams.SORT, "id asc",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='2']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='22']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='6']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='66']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='7']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='true']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='77']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']"
- );
-
- assertQ("force-elevated sorted group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- CommonParams.SORT, "id asc",
- QueryElevationParams.FORCE_ELEVATION, "true",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='7']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='77']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='2']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='22']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='6']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='66']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']"
- );
-
-
- assertQ("non-elevated because of sort within group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- CommonParams.SORT, "id asc",
- GroupParams.GROUP_SORT, "id desc",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='22']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='2']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='66']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='6']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='77']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='7']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='true']"
- );
-
-
- assertQ("force elevated sort within sorted group query",
- req(CommonParams.Q, "AAAA",
- CommonParams.QT, "/elevate",
- CommonParams.SORT, "id asc",
- GroupParams.GROUP_SORT, "id desc",
- QueryElevationParams.FORCE_ELEVATION, "true",
- GroupParams.GROUP_FIELD, "str_s",
- GroupParams.GROUP, "true",
- GroupParams.GROUP_TOTAL_COUNT, "true",
- GroupParams.GROUP_LIMIT, "100",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@name='ngroups'][.='3']"
- , "//*[@name='matches'][.='6']"
-
- , groups +"/lst[1]//doc[1]/str[@name='id'][.='7']"
- , groups +"/lst[1]//doc[1]/bool[@name='[elevated]'][.='true']"
- , groups +"/lst[1]//doc[2]/str[@name='id'][.='77']"
- , groups +"/lst[1]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[2]//doc[1]/str[@name='id'][.='22']"
- , groups +"/lst[2]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[2]//doc[2]/str[@name='id'][.='2']"
- , groups +"/lst[2]//doc[2]/bool[@name='[elevated]'][.='false']"
-
- , groups +"/lst[3]//doc[1]/str[@name='id'][.='66']"
- , groups +"/lst[3]//doc[1]/bool[@name='[elevated]'][.='false']"
- , groups +"/lst[3]//doc[2]/str[@name='id'][.='6']"
- , groups +"/lst[3]//doc[2]/bool[@name='[elevated]'][.='false']"
- );
-
- } finally {
- delete();
- }
}
- @Test
- public void testTrieFieldType() throws Exception {
- try {
- init("schema.xml");
- clearIndex();
- assertU(commit());
- assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a" ));
- assertU(adoc("id", "2", "text", "YYYY", "str_s", "b" ));
- assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c" ));
-
- assertU(adoc("id", "4", "text", "XXXX XXXX", "str_s", "x" ));
- assertU(adoc("id", "5", "text", "YYYY YYYY", "str_s", "y" ));
- assertU(adoc("id", "6", "text", "XXXX XXXX", "str_s", "z" ));
- assertU(adoc("id", "7", "text", "AAAA", "str_s", "a" ));
- assertU(adoc("id", "8", "text", "AAAA", "str_s", "a" ));
- assertU(adoc("id", "9", "text", "AAAA AAAA", "str_s", "a" ));
- assertU(commit());
+ @Test public void testTrieFieldType() throws Exception {
+
+ init("schema.xml");
+ clearIndex();
+ assertU(commit());
+ assertU(adoc("id", "1", "text", "XXXX XXXX", "str_s", "a"));
+ assertU(adoc("id", "2", "text", "YYYY", "str_s", "b"));
+ assertU(adoc("id", "3", "text", "ZZZZ", "str_s", "c"));
+
+ assertU(adoc("id", "4", "text", "XXXX XXXX", "str_s", "x"));
+ assertU(adoc("id", "5", "text", "YYYY YYYY", "str_s", "y"));
+ assertU(adoc("id", "6", "text", "XXXX XXXX", "str_s", "z"));
+ assertU(adoc("id", "7", "text", "AAAA", "str_s", "a"));
+ assertU(adoc("id", "8", "text", "AAAA", "str_s", "a"));
+ assertU(adoc("id", "9", "text", "AAAA AAAA", "str_s", "a"));
+ assertU(commit());
+
+ assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[2]/str[@name='id'][.='8']", "//result/doc[3]/str[@name='id'][.='9']",
+ "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='false']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='false']");
- assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- ,"//*[@numFound='3']"
- ,"//result/doc[1]/str[@name='id'][.='7']"
- ,"//result/doc[2]/str[@name='id'][.='8']"
- ,"//result/doc[3]/str[@name='id'][.='9']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='false']",
- "//result/doc[3]/bool[@name='[elevated]'][.='false']"
- );
- } finally{
- delete();
- }
}
+ @Test public void testInterface() throws Exception {
- @Test
- public void testInterface() throws Exception {
- try {
- init("schema12.xml");
- SolrCore core = h.getCore();
+ init("schema12.xml");
+ SolrCore core = h.getCore();
- NamedList<String> args = new NamedList<>();
- args.add(QueryElevationComponent.FIELD_TYPE, "string");
- args.add(QueryElevationComponent.CONFIG_FILE, "elevate.xml");
+ NamedList<String> args = new NamedList<>();
+ args.add(QueryElevationComponent.FIELD_TYPE, "string");
+ args.add(QueryElevationComponent.CONFIG_FILE, "elevate.xml");
- IndexReader reader;
- try (SolrQueryRequest req = req()) {
- reader = req.getSearcher().getIndexReader();
- }
+ IndexReader reader;
+ try (SolrQueryRequest req = req()) {
+ reader = req.getSearcher().getIndexReader();
+ }
- try (QueryElevationComponent comp = new QueryElevationComponent()) {
- comp.init(args);
- comp.inform(core);
+ try (QueryElevationComponent comp = new QueryElevationComponent()) {
+ comp.init(args);
+ comp.inform(core);
- QueryElevationComponent.ElevationProvider elevationProvider = comp.getElevationProvider(reader, core);
+ QueryElevationComponent.ElevationProvider elevationProvider = comp.getElevationProvider(reader, core);
- // Make sure the boosts loaded properly
- assertEquals(11, elevationProvider.size());
- assertEquals(1, elevationProvider.getElevationForQuery("XXXX").elevatedIds.size());
- assertEquals(2, elevationProvider.getElevationForQuery("YYYY").elevatedIds.size());
- assertEquals(3, elevationProvider.getElevationForQuery("ZZZZ").elevatedIds.size());
- assertNull(elevationProvider.getElevationForQuery("xxxx"));
- assertNull(elevationProvider.getElevationForQuery("yyyy"));
- assertNull(elevationProvider.getElevationForQuery("zzzz"));
- }
+ // Make sure the boosts loaded properly
+ assertEquals(11, elevationProvider.size());
+ assertEquals(1, elevationProvider.getElevationForQuery("XXXX").elevatedIds.size());
+ assertEquals(2, elevationProvider.getElevationForQuery("YYYY").elevatedIds.size());
+ assertEquals(3, elevationProvider.getElevationForQuery("ZZZZ").elevatedIds.size());
+ assertNull(elevationProvider.getElevationForQuery("xxxx"));
+ assertNull(elevationProvider.getElevationForQuery("yyyy"));
+ assertNull(elevationProvider.getElevationForQuery("zzzz"));
+ }
- // Now test the same thing with a lowercase filter: 'lowerfilt'
- args = new NamedList<>();
- args.add(QueryElevationComponent.FIELD_TYPE, "lowerfilt");
- args.add(QueryElevationComponent.CONFIG_FILE, "elevate.xml");
+ // Now test the same thing with a lowercase filter: 'lowerfilt'
+ args = new NamedList<>();
+ args.add(QueryElevationComponent.FIELD_TYPE, "lowerfilt");
+ args.add(QueryElevationComponent.CONFIG_FILE, "elevate.xml");
- try (QueryElevationComponent comp = new QueryElevationComponent()) {
- comp.init(args);
- comp.inform(core);
- QueryElevationComponent.ElevationProvider elevationProvider = comp.getElevationProvider(reader, core);
- assertEquals(11, elevationProvider.size());
- assertEquals(1, elevationProvider.getElevationForQuery("XXXX").elevatedIds.size());
- assertEquals(2, elevationProvider.getElevationForQuery("YYYY").elevatedIds.size());
- assertEquals(3, elevationProvider.getElevationForQuery("ZZZZ").elevatedIds.size());
- assertEquals(1, elevationProvider.getElevationForQuery("xxxx").elevatedIds.size());
- assertEquals(2, elevationProvider.getElevationForQuery("yyyy").elevatedIds.size());
- assertEquals(3, elevationProvider.getElevationForQuery("zzzz").elevatedIds.size());
-
- assertEquals("xxxx", comp.analyzeQuery("XXXX"));
- assertEquals("xxxxyyyy", comp.analyzeQuery("XXXX YYYY"));
-
- assertQ("Make sure QEC handles null queries", req("qt", "/elevate", "q.alt", "*:*", "defType", "dismax"),
- "//*[@numFound='0']");
- }
- core.close();
- } finally {
- delete();
+ try (QueryElevationComponent comp = new QueryElevationComponent()) {
+ comp.init(args);
+ comp.inform(core);
+ QueryElevationComponent.ElevationProvider elevationProvider = comp.getElevationProvider(reader, core);
+ assertEquals(11, elevationProvider.size());
+ assertEquals(1, elevationProvider.getElevationForQuery("XXXX").elevatedIds.size());
+ assertEquals(2, elevationProvider.getElevationForQuery("YYYY").elevatedIds.size());
+ assertEquals(3, elevationProvider.getElevationForQuery("ZZZZ").elevatedIds.size());
+ assertEquals(1, elevationProvider.getElevationForQuery("xxxx").elevatedIds.size());
+ assertEquals(2, elevationProvider.getElevationForQuery("yyyy").elevatedIds.size());
+ assertEquals(3, elevationProvider.getElevationForQuery("zzzz").elevatedIds.size());
+
+ assertEquals("xxxx", comp.analyzeQuery("XXXX"));
+ assertEquals("xxxxyyyy", comp.analyzeQuery("XXXX YYYY"));
+
+ assertQ("Make sure QEC handles null queries", req("qt", "/elevate", "q.alt", "*:*", "defType", "dismax"), "//*[@numFound='0']");
}
+ core.close();
}
- @Test
- public void testMarker() throws Exception {
- try {
- init("schema12.xml");
- assertU(adoc("id", "1", "title", "XXXX XXXX", "str_s1", "a"));
- assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
- assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
-
- assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
- assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
- assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
- assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
- assertU(commit());
+ @Test public void testMarker() throws Exception {
+
+ init("schema12.xml");
+ assertU(adoc("id", "1", "title", "XXXX XXXX", "str_s1", "a"));
+ assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
+ assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
+
+ assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
+ assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
+ assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
+ assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
+ assertU(commit());
+
+ assertQ("", req(CommonParams.Q, "XXXX", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.='1']", "//result/doc[2]/str[@name='id'][.='4']", "//result/doc[3]/str[@name='id'][.='6']",
+ "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='false']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='false']");
+
+ assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='1']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[1]/bool[@name='[elevated]'][.='true']");
+
+ assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elev]"), "//*[@numFound='1']",
+ "//result/doc[1]/str[@name='id'][.='7']", "not(//result/doc[1]/bool[@name='[elevated]'][.='false'])",
+ "not(//result/doc[1]/bool[@name='[elev]'][.='false'])"
+ // even though we asked for elev, there is no Transformer registered w/ that, so we shouldn't get a result
+ );
- assertQ("", req(CommonParams.Q, "XXXX", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='3']"
- , "//result/doc[1]/str[@name='id'][.='1']"
- , "//result/doc[2]/str[@name='id'][.='4']"
- , "//result/doc[3]/str[@name='id'][.='6']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='false']",
- "//result/doc[3]/bool[@name='[elevated]'][.='false']"
- );
-
- assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- ,"//*[@numFound='1']"
- ,"//result/doc[1]/str[@name='id'][.='7']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']"
- );
-
- assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elev]")
- , "//*[@numFound='1']"
- , "//result/doc[1]/str[@name='id'][.='7']",
- "not(//result/doc[1]/bool[@name='[elevated]'][.='false'])",
- "not(//result/doc[1]/bool[@name='[elev]'][.='false'])" // even though we asked for elev, there is no Transformer registered w/ that, so we shouldn't get a result
- );
- } finally {
- delete();
- }
}
- @Test
- public void testMarkExcludes() throws Exception {
- try {
- init("schema12.xml");
- assertU(adoc("id", "1", "title", "XXXX XXXX", "str_s1", "a"));
- assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
- assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
+ @Test public void testMarkExcludes() throws Exception {
- assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
- assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
- assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
- assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
+ init("schema12.xml");
+ assertU(adoc("id", "1", "title", "XXXX XXXX", "str_s1", "a"));
+ assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
+ assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
- assertU(adoc("id", "8", "title", " QQQQ trash trash", "str_s1", "q"));
- assertU(adoc("id", "9", "title", " QQQQ QQQQ trash", "str_s1", "r"));
- assertU(adoc("id", "10", "title", "QQQQ QQQQ QQQQ ", "str_s1", "s"));
+ assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
+ assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
+ assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
+ assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
- assertU(commit());
+ assertU(adoc("id", "8", "title", " QQQQ trash trash", "str_s1", "q"));
+ assertU(adoc("id", "9", "title", " QQQQ QQQQ trash", "str_s1", "r"));
+ assertU(adoc("id", "10", "title", "QQQQ QQQQ QQQQ ", "str_s1", "s"));
+
+ assertU(commit());
+
+ assertQ("", req(CommonParams.Q, "XXXX XXXX", CommonParams.QT, "/elevate", QueryElevationParams.MARK_EXCLUDES, "true", "indent", "true", CommonParams.FL,
+ "id, score, [excluded]"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='5']", "//result/doc[2]/str[@name='id'][.='1']",
+ "//result/doc[3]/str[@name='id'][.='4']", "//result/doc[4]/str[@name='id'][.='6']", "//result/doc[1]/bool[@name='[excluded]'][.='false']",
+ "//result/doc[2]/bool[@name='[excluded]'][.='false']", "//result/doc[3]/bool[@name='[excluded]'][.='false']",
+ "//result/doc[4]/bool[@name='[excluded]'][.='true']");
+
+ //ask for excluded as a field, but don't actually request the MARK_EXCLUDES
+ //thus, number 6 should not be returned, b/c it is excluded
+ assertQ("",
+ req(CommonParams.Q, "XXXX XXXX", CommonParams.QT, "/elevate", QueryElevationParams.MARK_EXCLUDES, "false", CommonParams.FL, "id, score, [excluded]"),
+ "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='5']", "//result/doc[2]/str[@name='id'][.='1']", "//result/doc[3]/str[@name='id'][.='4']",
+ "//result/doc[1]/bool[@name='[excluded]'][.='false']", "//result/doc[2]/bool[@name='[excluded]'][.='false']",
+ "//result/doc[3]/bool[@name='[excluded]'][.='false']");
+
+ // test that excluded results are on the same positions in the result list
+ // as when elevation component is disabled
+ // (i.e. test that elevation component with MARK_EXCLUDES does not boost
+ // excluded results)
+ assertQ("", req(CommonParams.Q, "QQQQ", CommonParams.QT, "/elevate", QueryElevationParams.ENABLE, "false", "indent", "true", CommonParams.FL, "id, score"),
+ "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='10']", "//result/doc[2]/str[@name='id'][.='9']", "//result/doc[3]/str[@name='id'][.='8']");
+ assertQ("", req(CommonParams.Q, "QQQQ", CommonParams.QT, "/elevate", QueryElevationParams.MARK_EXCLUDES, "true", "indent", "true", CommonParams.FL,
+ "id, score, [excluded]"), "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='10']", "//result/doc[2]/str[@name='id'][.='9']",
+ "//result/doc[3]/str[@name='id'][.='8']", "//result/doc[1]/bool[@name='[excluded]'][.='true']", "//result/doc[2]/bool[@name='[excluded]'][.='false']",
+ "//result/doc[3]/bool[@name='[excluded]'][.='false']");
- assertQ("", req(CommonParams.Q, "XXXX XXXX", CommonParams.QT, "/elevate",
- QueryElevationParams.MARK_EXCLUDES, "true",
- "indent", "true",
- CommonParams.FL, "id, score, [excluded]")
- , "//*[@numFound='4']"
- , "//result/doc[1]/str[@name='id'][.='5']"
- , "//result/doc[2]/str[@name='id'][.='1']"
- , "//result/doc[3]/str[@name='id'][.='4']"
- , "//result/doc[4]/str[@name='id'][.='6']",
- "//result/doc[1]/bool[@name='[excluded]'][.='false']",
- "//result/doc[2]/bool[@name='[excluded]'][.='false']",
- "//result/doc[3]/bool[@name='[excluded]'][.='false']",
- "//result/doc[4]/bool[@name='[excluded]'][.='true']"
- );
-
- //ask for excluded as a field, but don't actually request the MARK_EXCLUDES
- //thus, number 6 should not be returned, b/c it is excluded
- assertQ("", req(CommonParams.Q, "XXXX XXXX", CommonParams.QT, "/elevate",
- QueryElevationParams.MARK_EXCLUDES, "false",
- CommonParams.FL, "id, score, [excluded]")
- , "//*[@numFound='3']"
- , "//result/doc[1]/str[@name='id'][.='5']"
- , "//result/doc[2]/str[@name='id'][.='1']"
- , "//result/doc[3]/str[@name='id'][.='4']",
- "//result/doc[1]/bool[@name='[excluded]'][.='false']",
- "//result/doc[2]/bool[@name='[excluded]'][.='false']",
- "//result/doc[3]/bool[@name='[excluded]'][.='false']"
- );
-
- // test that excluded results are on the same positions in the result list
- // as when elevation component is disabled
- // (i.e. test that elevation component with MARK_EXCLUDES does not boost
- // excluded results)
- assertQ("", req(CommonParams.Q, "QQQQ", CommonParams.QT, "/elevate",
- QueryElevationParams.ENABLE, "false",
- "indent", "true",
- CommonParams.FL, "id, score")
- , "//*[@numFound='3']"
- , "//result/doc[1]/str[@name='id'][.='10']"
- , "//result/doc[2]/str[@name='id'][.='9']"
- , "//result/doc[3]/str[@name='id'][.='8']"
- );
- assertQ("", req(CommonParams.Q, "QQQQ", CommonParams.QT, "/elevate",
- QueryElevationParams.MARK_EXCLUDES, "true",
- "indent", "true",
- CommonParams.FL, "id, score, [excluded]")
- , "//*[@numFound='3']"
- , "//result/doc[1]/str[@name='id'][.='10']"
- , "//result/doc[2]/str[@name='id'][.='9']"
- , "//result/doc[3]/str[@name='id'][.='8']",
- "//result/doc[1]/bool[@name='[excluded]'][.='true']",
- "//result/doc[2]/bool[@name='[excluded]'][.='false']",
- "//result/doc[3]/bool[@name='[excluded]'][.='false']"
- );
- } finally {
- delete();
- }
}
- @Test
- public void testSorting() throws Exception {
+ @Test public void testSorting() throws Exception {
init("schema12.xml");
try (SolrCore core = h.getCore()) {
@@ -571,38 +401,40 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
QueryElevationComponent booster = (QueryElevationComponent) core.getSearchComponent("elevate");
IndexReader reader = core.withSearcher(SolrIndexSearcher::getIndexReader);
- assertQ("Make sure standard sort works as expected", req(baseParams), "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='c']", "//result/doc[2]/str[@name='id'][.='b']",
- "//result/doc[3]/str[@name='id'][.='a']");
+ assertQ("Make sure standard sort works as expected", req(baseParams), "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='c']",
+ "//result/doc[2]/str[@name='id'][.='b']", "//result/doc[3]/str[@name='id'][.='a']");
// Explicitly set what gets boosted
booster.setTopQueryResults(reader, query, false, new String[] {"x", "y", "z"}, null);
- assertQ("All six should make it", req(baseParams), "//*[@numFound='6']", "//result/doc[1]/str[@name='id'][.='x']", "//result/doc[2]/str[@name='id'][.='y']",
- "//result/doc[3]/str[@name='id'][.='z']", "//result/doc[4]/str[@name='id'][.='c']", "//result/doc[5]/str[@name='id'][.='b']", "//result/doc[6]/str[@name='id'][.='a']");
+ assertQ("All six should make it", req(baseParams), "//*[@numFound='6']", "//result/doc[1]/str[@name='id'][.='x']",
+ "//result/doc[2]/str[@name='id'][.='y']", "//result/doc[3]/str[@name='id'][.='z']", "//result/doc[4]/str[@name='id'][.='c']",
+ "//result/doc[5]/str[@name='id'][.='b']", "//result/doc[6]/str[@name='id'][.='a']");
// now switch the order:
booster.setTopQueryResults(reader, query, false, new String[] {"a", "x"}, null);
- assertQ(req(baseParams), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='x']", "//result/doc[3]/str[@name='id'][.='c']",
- "//result/doc[4]/str[@name='id'][.='b']");
+ assertQ(req(baseParams), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='x']",
+ "//result/doc[3]/str[@name='id'][.='c']", "//result/doc[4]/str[@name='id'][.='b']");
// Try normal sort by 'id'
// default 'forceBoost' should be false
assertFalse(booster.forceElevation);
- assertQ(req(baseParams, "sort", "id asc"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='b']", "//result/doc[3]/str[@name='id'][.='c']",
- "//result/doc[4]/str[@name='id'][.='x']");
+ assertQ(req(baseParams, "sort", "id asc"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='b']",
+ "//result/doc[3]/str[@name='id'][.='c']", "//result/doc[4]/str[@name='id'][.='x']");
- assertQ("useConfiguredElevatedOrder=false", req(baseParams, "sort", "str_s1 asc,id desc", "useConfiguredElevatedOrder", "false"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='x']"
+ assertQ("useConfiguredElevatedOrder=false", req(baseParams, "sort", "str_s1 asc,id desc", "useConfiguredElevatedOrder", "false"), "//*[@numFound='4']",
+ "//result/doc[1]/str[@name='id'][.='x']"
//group1
, "//result/doc[2]/str[@name='id'][.='a']"//group1
, "//result/doc[3]/str[@name='id'][.='c']", "//result/doc[4]/str[@name='id'][.='b']");
booster.forceElevation = true;
- assertQ(req(baseParams, "sort", "id asc"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='x']", "//result/doc[3]/str[@name='id'][.='b']",
- "//result/doc[4]/str[@name='id'][.='c']");
+ assertQ(req(baseParams, "sort", "id asc"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='a']", "//result/doc[2]/str[@name='id'][.='x']",
+ "//result/doc[3]/str[@name='id'][.='b']", "//result/doc[4]/str[@name='id'][.='c']");
booster.forceElevation = true;
- assertQ("useConfiguredElevatedOrder=false and forceElevation", req(baseParams, "sort", "id desc", "useConfiguredElevatedOrder", "false"), "//*[@numFound='4']",
- "//result/doc[1]/str[@name='id'][.='x']" // force elevated
+ assertQ("useConfiguredElevatedOrder=false and forceElevation", req(baseParams, "sort", "id desc", "useConfiguredElevatedOrder", "false"),
+ "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='x']" // force elevated
, "//result/doc[2]/str[@name='id'][.='a']" // force elevated
, "//result/doc[3]/str[@name='id'][.='c']", "//result/doc[4]/str[@name='id'][.='b']");
@@ -612,19 +444,20 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
// Test exclusion
booster.setTopQueryResults(reader, query, false, new String[] {"x"}, new String[] {"a"});
- assertQ(req(baseParams), "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='x']", "//result/doc[2]/str[@name='id'][.='c']", "//result/doc[3]/str[@name='id'][.='b']");
+ assertQ(req(baseParams), "//*[@numFound='3']", "//result/doc[1]/str[@name='id'][.='x']", "//result/doc[2]/str[@name='id'][.='c']",
+ "//result/doc[3]/str[@name='id'][.='b']");
// Test setting ids and excludes from http parameters
booster.clearElevationProviderCache();
- assertQ("All five should make it", req(baseParams, "elevateIds", "x,y,z", "excludeIds", "b"), "//*[@numFound='5']", "//result/doc[1]/str[@name='id'][.='x']",
- "//result/doc[2]/str[@name='id'][.='y']", "//result/doc[3]/str[@name='id'][.='z']", "//result/doc[4]/str[@name='id'][.='c']", "//result/doc[5]/str[@name='id'][.='a']");
+ assertQ("All five should make it", req(baseParams, "elevateIds", "x,y,z", "excludeIds", "b"), "//*[@numFound='5']",
+ "//result/doc[1]/str[@name='id'][.='x']", "//result/doc[2]/str[@name='id'][.='y']", "//result/doc[3]/str[@name='id'][.='z']",
+ "//result/doc[4]/str[@name='id'][.='c']", "//result/doc[5]/str[@name='id'][.='a']");
- assertQ("All four should make it", req(baseParams, "elevateIds", "x,z,y", "excludeIds", "b,c"), "//*[@numFound='4']", "//result/doc[1]/str[@name='id'][.='x']",
- "//result/doc[2]/str[@name='id'][.='z']", "//result/doc[3]/str[@name='id'][.='y']", "//result/doc[4]/str[@name='id'][.='a']");
+ assertQ("All four should make it", req(baseParams, "elevateIds", "x,z,y", "excludeIds", "b,c"), "//*[@numFound='4']",
+ "//result/doc[1]/str[@name='id'][.='x']", "//result/doc[2]/str[@name='id'][.='z']", "//result/doc[3]/str[@name='id'][.='y']",
+ "//result/doc[4]/str[@name='id'][.='a']");
- } finally {
- delete();
}
}
@@ -647,8 +480,7 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
}
}
- @Test
- public void testElevationReloading() throws Exception {
+ @Test public void testElevationReloading() throws Exception {
init("schema12.xml");
try (SolrCore core = h.getCore()) {
@@ -703,147 +535,84 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
assertNull(elevationProvider.getElevationForQuery("bbb"));
assertTrue(elevationProvider.getElevationForQuery("ccc").elevatedIds.contains(new BytesRef("C")));
}
- } finally {
- delete();
}
}
- @Test
- public void testWithLocalParam() throws Exception {
- try {
- init("schema11.xml");
- clearIndex();
- assertU(commit());
- assertU(adoc("id", "7", "text", "AAAA", "str_s", "a"));
- assertU(commit());
+ @Test public void testWithLocalParam() throws Exception {
+
+ init("schema11.xml");
+ clearIndex();
+ assertU(commit());
+ assertU(adoc("id", "7", "text", "AAAA", "str_s", "a"));
+ assertU(commit());
+
+ assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='1']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[1]/bool[@name='[elevated]'][.='true']");
+ assertQ("", req(CommonParams.Q, "{!q.op=AND}AAAA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='1']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[1]/bool[@name='[elevated]'][.='true']");
+ assertQ("", req(CommonParams.Q, "{!q.op=AND v='AAAA'}", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='1']",
+ "//result/doc[1]/str[@name='id'][.='7']", "//result/doc[1]/bool[@name='[elevated]'][.='true']");
- assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='1']"
- , "//result/doc[1]/str[@name='id'][.='7']"
- , "//result/doc[1]/bool[@name='[elevated]'][.='true']"
- );
- assertQ("", req(CommonParams.Q, "{!q.op=AND}AAAA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='1']"
- , "//result/doc[1]/str[@name='id'][.='7']"
- , "//result/doc[1]/bool[@name='[elevated]'][.='true']"
- );
- assertQ("", req(CommonParams.Q, "{!q.op=AND v='AAAA'}", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='1']"
- , "//result/doc[1]/str[@name='id'][.='7']"
- , "//result/doc[1]/bool[@name='[elevated]'][.='true']"
- );
- } finally {
- delete();
- }
}
- @Test
- public void testQuerySubsetMatching() throws Exception {
- try {
- init("schema12.xml");
- assertU(adoc("id", "1", "title", "XXXX", "str_s1", "a"));
- assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
- assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
-
- assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
- assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
- assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
- assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
-
- assertU(adoc("id", "10", "title", "RR", "str_s1", "r"));
- assertU(adoc("id", "11", "title", "SS", "str_s1", "r"));
- assertU(adoc("id", "12", "title", "TT", "str_s1", "r"));
- assertU(adoc("id", "13", "title", "UU", "str_s1", "r"));
- assertU(adoc("id", "14", "title", "VV", "str_s1", "r"));
- assertU(commit());
+ @Test public void testQuerySubsetMatching() throws Exception {
+
+ init("schema12.xml");
+ assertU(adoc("id", "1", "title", "XXXX", "str_s1", "a"));
+ assertU(adoc("id", "2", "title", "YYYY", "str_s1", "b"));
+ assertU(adoc("id", "3", "title", "ZZZZ", "str_s1", "c"));
+
+ assertU(adoc("id", "4", "title", "XXXX XXXX", "str_s1", "x"));
+ assertU(adoc("id", "5", "title", "YYYY YYYY", "str_s1", "y"));
+ assertU(adoc("id", "6", "title", "XXXX XXXX", "str_s1", "z"));
+ assertU(adoc("id", "7", "title", "AAAA", "str_s1", "a"));
+
+ assertU(adoc("id", "10", "title", "RR", "str_s1", "r"));
+ assertU(adoc("id", "11", "title", "SS", "str_s1", "r"));
+ assertU(adoc("id", "12", "title", "TT", "str_s1", "r"));
+ assertU(adoc("id", "13", "title", "UU", "str_s1", "r"));
+ assertU(adoc("id", "14", "title", "VV", "str_s1", "r"));
+ assertU(commit());
+
+ // Exact matching.
+ assertQ("", req(CommonParams.Q, "XXXX", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.='1']", "//result/doc[2]/str[@name='id'][.='4']", "//result/doc[3]/str[@name='id'][.='6']",
+ "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='false']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='false']");
+
+ // Exact matching.
+ assertQ("", req(CommonParams.Q, "QQQQ EE", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='0']");
+
+ // Subset matching.
+ assertQ("", req(CommonParams.Q, "BB DD CC VV", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='4']",
+ "//result/doc[1]/str[@name='id'][.='10']", "//result/doc[2]/str[@name='id'][.='12']", "//result/doc[3]/str[@name='id'][.='11']",
+ "//result/doc[4]/str[@name='id'][.='14']", "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='true']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='true']", "//result/doc[4]/bool[@name='[elevated]'][.='false']");
+
+ // Subset + exact matching.
+ assertQ("", req(CommonParams.Q, "BB CC", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='4']",
+ "//result/doc[1]/str[@name='id'][.='13']", "//result/doc[2]/str[@name='id'][.='10']", "//result/doc[3]/str[@name='id'][.='12']",
+ "//result/doc[4]/str[@name='id'][.='11']", "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='true']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='true']", "//result/doc[4]/bool[@name='[elevated]'][.='true']");
+
+ // Subset matching.
+ assertQ("", req(CommonParams.Q, "AA BB DD CC AA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='4']",
+ "//result/doc[1]/str[@name='id'][.='10']", "//result/doc[2]/str[@name='id'][.='12']", "//result/doc[3]/str[@name='id'][.='11']",
+ "//result/doc[4]/str[@name='id'][.='14']", "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='true']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='true']", "//result/doc[4]/bool[@name='[elevated]'][.='true']");
+
+ // Subset matching.
+ assertQ("", req(CommonParams.Q, "AA RR BB DD AA", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='3']",
+ "//result/doc[1]/str[@name='id'][.='12']", "//result/doc[2]/str[@name='id'][.='14']", "//result/doc[3]/str[@name='id'][.='10']",
+ "//result/doc[1]/bool[@name='[elevated]'][.='true']", "//result/doc[2]/bool[@name='[elevated]'][.='true']",
+ "//result/doc[3]/bool[@name='[elevated]'][.='false']");
+
+ // Subset matching.
+ assertQ("", req(CommonParams.Q, "AA BB EE", CommonParams.QT, "/elevate", CommonParams.FL, "id, score, [elevated]"), "//*[@numFound='0']");
- // Exact matching.
- assertQ("", req(CommonParams.Q, "XXXX", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='3']",
- "//result/doc[1]/str[@name='id'][.='1']",
- "//result/doc[2]/str[@name='id'][.='4']",
- "//result/doc[3]/str[@name='id'][.='6']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='false']",
- "//result/doc[3]/bool[@name='[elevated]'][.='false']"
- );
-
- // Exact matching.
- assertQ("", req(CommonParams.Q, "QQQQ EE", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='0']"
- );
-
- // Subset matching.
- assertQ("", req(CommonParams.Q, "BB DD CC VV", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='4']",
- "//result/doc[1]/str[@name='id'][.='10']",
- "//result/doc[2]/str[@name='id'][.='12']",
- "//result/doc[3]/str[@name='id'][.='11']",
- "//result/doc[4]/str[@name='id'][.='14']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='true']",
- "//result/doc[3]/bool[@name='[elevated]'][.='true']",
- "//result/doc[4]/bool[@name='[elevated]'][.='false']"
- );
-
- // Subset + exact matching.
- assertQ("", req(CommonParams.Q, "BB CC", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='4']",
- "//result/doc[1]/str[@name='id'][.='13']",
- "//result/doc[2]/str[@name='id'][.='10']",
- "//result/doc[3]/str[@name='id'][.='12']",
- "//result/doc[4]/str[@name='id'][.='11']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='true']",
- "//result/doc[3]/bool[@name='[elevated]'][.='true']",
- "//result/doc[4]/bool[@name='[elevated]'][.='true']"
- );
-
- // Subset matching.
- assertQ("", req(CommonParams.Q, "AA BB DD CC AA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='4']",
- "//result/doc[1]/str[@name='id'][.='10']",
- "//result/doc[2]/str[@name='id'][.='12']",
- "//result/doc[3]/str[@name='id'][.='11']",
- "//result/doc[4]/str[@name='id'][.='14']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='true']",
- "//result/doc[3]/bool[@name='[elevated]'][.='true']",
- "//result/doc[4]/bool[@name='[elevated]'][.='true']"
- );
-
- // Subset matching.
- assertQ("", req(CommonParams.Q, "AA RR BB DD AA", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]"),
- "//*[@numFound='3']",
- "//result/doc[1]/str[@name='id'][.='12']",
- "//result/doc[2]/str[@name='id'][.='14']",
- "//result/doc[3]/str[@name='id'][.='10']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']",
- "//result/doc[2]/bool[@name='[elevated]'][.='true']",
- "//result/doc[3]/bool[@name='[elevated]'][.='false']"
- );
-
- // Subset matching.
- assertQ("", req(CommonParams.Q, "AA BB EE", CommonParams.QT, "/elevate",
- CommonParams.FL, "id, score, [elevated]")
- , "//*[@numFound='0']"
- );
- } finally {
- delete();
- }
}
- @Test
- public void testElevatedIds() throws Exception {
+ @Test public void testElevatedIds() throws Exception {
try (QueryElevationComponent comp = new QueryElevationComponent()) {
init("schema12.xml");
try (SolrCore core = h.getCore()) {
@@ -865,8 +634,6 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
assertEquals(toIdSet("10", "11", "12", "13"), elevationProvider.getElevationForQuery("BB Cc").elevatedIds);
assertEquals(toIdSet("10", "11", "12", "14"), elevationProvider.getElevationForQuery("aa bb dd cc aa").elevatedIds);
}
- } finally {
- delete();
}
}
diff --git a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
index 4679225..46e65d8 100644
--- a/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
+++ b/solr/core/src/test/org/apache/solr/request/TestIntervalFaceting.java
@@ -76,7 +76,6 @@ public class TestIntervalFaceting extends SolrTestCaseJ4 {
assertU(delQ("*:*"));
assertU(commit());
assertU(optimize());
- assertQ(req("*:*"), "//*[@numFound='0']");
super.tearDown();
}
diff --git a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
index 320b0a0..9b3a6a5 100644
--- a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
+++ b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
@@ -35,6 +35,7 @@ import org.apache.solr.common.util.NamedList;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.ReturnFields;
import org.apache.solr.search.SolrReturnFields;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -47,6 +48,11 @@ public class JSONWriterTest extends SolrTestCaseJ4 {
initCore("solrconfig.xml","schema.xml");
}
+ @AfterClass
+ public static void afterJSONWriterTest() {
+ deleteCore();
+ }
+
private void jsonEq(String expected, String received) {
expected = expected.trim();
received = received.trim();
diff --git a/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
index e383743..155af31 100644
--- a/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestPHPSerializedResponseWriter.java
@@ -25,6 +25,7 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.SolrDocumentList;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -38,6 +39,11 @@ public class TestPHPSerializedResponseWriter extends SolrTestCaseJ4 {
initCore("solrconfig.xml","schema.xml");
}
+ @AfterClass
+ public static void afterTestPHPSerializedResponseWriter() {
+ deleteCore();
+ }
+
@Test
public void testSimple() throws IOException {
SolrQueryRequest req = req("dummy");
diff --git a/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
index d6b4e88..d6e4242 100644
--- a/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestRawResponseWriter.java
@@ -45,7 +45,7 @@ public class TestRawResponseWriter extends SolrTestCaseJ4 {
private static RawResponseWriter[] allWriters;
@BeforeClass
- public static void setupCoreAndWriters() throws Exception {
+ public static void beforeTestRawResponseWriter() throws Exception {
// we don't directly use this core or its config, we use
// QueryResponseWriters' constructed programmatically,
// but we do use this core for managing the life cycle of the requests
@@ -63,12 +63,12 @@ public class TestRawResponseWriter extends SolrTestCaseJ4 {
}
@AfterClass
- public static void cleanupWriters() throws Exception {
+ public static void afterTestRawResponseWriter() throws Exception {
+ deleteCore();
writerXmlBase = null;
writerJsonBase = null;
writerBinBase = null;
writerNoBase = null;
-
allWriters = null;
}
diff --git a/solr/core/src/test/org/apache/solr/schema/CopyFieldTest.java b/solr/core/src/test/org/apache/solr/schema/CopyFieldTest.java
index c048c36..e832f48 100644
--- a/solr/core/src/test/org/apache/solr/schema/CopyFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/CopyFieldTest.java
@@ -26,6 +26,7 @@ import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.LocalSolrQueryRequest;
import org.apache.solr.request.SolrQueryRequest;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -39,7 +40,12 @@ public class CopyFieldTest extends SolrTestCaseJ4 {
@BeforeClass
public static void beforeCopyFieldTest() throws Exception {
initCore("solrconfig.xml","schema-copyfield-test.xml");
- }
+ }
+
+ @AfterClass
+ public static void afterCopyFieldTest() {
+ deleteCore();
+ }
@Test
public void testCopyFieldSchemaFieldSchemaField() {
diff --git a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
index 7b81ae3..530fa9c 100644
--- a/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/DocValuesMultiTest.java
@@ -27,6 +27,9 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.core.SolrCore;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -48,9 +51,20 @@ public class DocValuesMultiTest extends SolrTestCaseJ4 {
}
}
+ @AfterClass
+ public static void afterDocValuesMultiTest() {
+ deleteCore();
+ }
+
+ @Before
public void setUp() throws Exception {
super.setUp();
+ }
+
+ @After
+ public void tearDown() throws Exception {
assertU(delQ("*:*"));
+ super.tearDown();
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java b/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
index 9d3a31e..ff05689 100644
--- a/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/EnumFieldTest.java
@@ -29,6 +29,7 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.search.SolrQueryParser;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -40,15 +41,16 @@ public class EnumFieldTest extends SolrTestCaseJ4 {
@BeforeClass
public static void beforeEnumFieldTest() throws Exception {
System.setProperty("solr.tests.EnumFieldTest.indexed", Boolean.toString(random().nextBoolean()));
- doInitCore();
+ initCore("solrconfig-minimal.xml", "schema-enums.xml");
// System.out.println("solr.tests.numeric.dv: " + System.getProperty("solr.tests.numeric.dv"));
// System.out.println("solr.tests.EnumFieldTest.indexed: " + System.getProperty("solr.tests.EnumFieldTest.indexed"));
// System.out.println("solr.tests.EnumFieldType: " + System.getProperty("solr.tests.EnumFieldType"));
}
-
- private static void doInitCore() throws Exception {
- initCore("solrconfig-minimal.xml", "schema-enums.xml");
+
+ @AfterClass
+ public static void afterEnumFieldTest() {
+ deleteCore();
}
@Test
@@ -573,7 +575,7 @@ public class EnumFieldTest extends SolrTestCaseJ4 {
assertTrue(e.getMessage().contains("EnumFieldType requires docValues=\"true\""));
} finally { // put back the core expected by other tests
deleteCore();
- doInitCore();
+ initCore("solrconfig-minimal.xml", "schema-enums.xml");
}
}
}
diff --git a/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java b/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
index a1c4e94..3002973 100644
--- a/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/ExternalFileFieldSortTest.java
@@ -50,14 +50,15 @@ public class ExternalFileFieldSortTest extends SolrTestCaseJ4 {
@Test
public void testSort() throws Exception {
initCore("solrconfig-basic.xml", "schema-eff.xml");
- updateExternalFile();
+ try {
+ updateExternalFile();
- addDocuments();
- assertQ("query",
- req("q", "*:*", "sort", "eff asc"),
- "//result/doc[position()=1]/str[.='3']",
- "//result/doc[position()=2]/str[.='1']",
- "//result/doc[position()=10]/str[.='8']");
+ addDocuments();
+ assertQ("query", req("q", "*:*", "sort", "eff asc"), "//result/doc[position()=1]/str[.='3']", "//result/doc[position()=2]/str[.='1']",
+ "//result/doc[position()=10]/str[.='8']");
+ } finally {
+ deleteCore();
+ }
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java b/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
index 4520333..3b6985d 100644
--- a/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/PolyFieldTest.java
@@ -25,6 +25,7 @@ import org.apache.lucene.search.Query;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrException;
import org.apache.solr.core.SolrCore;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -40,6 +41,11 @@ public class PolyFieldTest extends SolrTestCaseJ4 {
initCore("solrconfig.xml","schema.xml");
}
+ @AfterClass
+ public static void afterPolyFieldTest() {
+ deleteCore();
+ }
+
@Test
public void testSchemaBasics() throws Exception {
SolrCore core = h.getCore();
diff --git a/solr/core/src/test/org/apache/solr/schema/PrimitiveFieldTypeTest.java b/solr/core/src/test/org/apache/solr/schema/PrimitiveFieldTypeTest.java
index ec84272..caad1c9 100644
--- a/solr/core/src/test/org/apache/solr/schema/PrimitiveFieldTypeTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/PrimitiveFieldTypeTest.java
@@ -26,6 +26,8 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.SolrTestUtil;
import org.apache.solr.core.SolrConfig;
import org.apache.solr.core.SolrResourceLoader;
+import org.junit.After;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -38,6 +40,7 @@ public class PrimitiveFieldTypeTest extends SolrTestCaseJ4 {
protected HashMap<String,String> initMap;
@Override
+ @Before
public void setUp() throws Exception {
super.setUp();
// set some system properties for use by tests
@@ -53,6 +56,7 @@ public class PrimitiveFieldTypeTest extends SolrTestCaseJ4 {
}
@Override
+ @After
public void tearDown() throws Exception {
System.clearProperty("solr.allow.unsafe.resourceloading");
super.tearDown();
diff --git a/solr/core/src/test/org/apache/solr/schema/RequiredFieldsTest.java b/solr/core/src/test/org/apache/solr/schema/RequiredFieldsTest.java
index 887c0b4..60eaa56 100644
--- a/solr/core/src/test/org/apache/solr/schema/RequiredFieldsTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/RequiredFieldsTest.java
@@ -20,6 +20,7 @@ import java.util.Collection;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.core.SolrCore;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
/**
@@ -30,6 +31,11 @@ public class RequiredFieldsTest extends SolrTestCaseJ4 {
public static void beforeRequiredFieldsTest() throws Exception {
initCore("solrconfig.xml","schema-required-fields.xml");
}
+
+ @AfterClass
+ public static void afterRequiredFieldsTest() {
+ deleteCore();
+ }
@Override
public void setUp() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/schema/TestSortableTextField.java b/solr/core/src/test/org/apache/solr/schema/TestSortableTextField.java
index 11d7dfe..58b4694 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestSortableTextField.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestSortableTextField.java
@@ -45,6 +45,7 @@ import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.SolrIndexSearcher;
import org.apache.solr.util.RefCounted;
+import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import static org.hamcrest.CoreMatchers.instanceOf;
@@ -55,7 +56,7 @@ public class TestSortableTextField extends SolrTestCaseJ4 {
= StringUtils.repeat("x", SortableTextField.DEFAULT_MAX_CHARS_FOR_DOC_VALUES);
@BeforeClass
- public static void create() throws Exception {
+ public static void beforeTestSortableTextField() throws Exception {
initCore("solrconfig-minimal.xml", "schema-sorting-text.xml");
try (SolrCore core = h.getCore()) {
// sanity check our fields & types...
@@ -81,6 +82,11 @@ public class TestSortableTextField extends SolrTestCaseJ4 {
}
}
}
+
+ @AfterClass
+ public static void afterTestSortableTextField() {
+ deleteCore();
+ }
@Before
public void cleanup() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/search/CursorMarkTest.java b/solr/core/src/test/org/apache/solr/search/CursorMarkTest.java
index 674ec2b..387c2bd 100644
--- a/solr/core/src/test/org/apache/solr/search/CursorMarkTest.java
+++ b/solr/core/src/test/org/apache/solr/search/CursorMarkTest.java
@@ -40,6 +40,7 @@ import java.util.Collection;
import java.util.Collections;
import java.util.UUID;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
/**
@@ -52,11 +53,16 @@ import org.junit.BeforeClass;
public class CursorMarkTest extends SolrTestCaseJ4 {
@BeforeClass
- public static void beforeTests() throws Exception {
+ public static void beforeCursorMarkTest() throws Exception {
System.setProperty("solr.test.useFilterForSortedQuery", Boolean.toString(random().nextBoolean()));
initCore(CursorPagingTest.TEST_SOLRCONFIG_NAME, CursorPagingTest.TEST_SCHEMAXML_NAME);
}
+ @AfterClass
+ public static void afterCursorMarkTest() {
+ deleteCore();
+ }
+
public void testNextCursorMark() throws IOException {
final Collection<String> allFieldNames = getAllFieldNames();
final SolrQueryRequest req = req();
diff --git a/solr/core/src/test/org/apache/solr/search/TestStressUserVersions.java b/solr/core/src/test/org/apache/solr/search/TestStressUserVersions.java
index e63e7cf..fe1e331 100644
--- a/solr/core/src/test/org/apache/solr/search/TestStressUserVersions.java
+++ b/solr/core/src/test/org/apache/solr/search/TestStressUserVersions.java
@@ -34,6 +34,7 @@ import org.apache.solr.common.util.Utils;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.util.TestHarness;
import org.apache.solr.util.TimeOut;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
@@ -45,10 +46,15 @@ public class TestStressUserVersions extends TestRTGBase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@BeforeClass
- public static void beforeClass() throws Exception {
+ public static void beforeTestStressUserVersions() throws Exception {
initCore("solrconfig-externalversionconstraint.xml","schema15.xml");
}
+ @AfterClass
+ public static void afterTestStressUserVersions() {
+ deleteCore();
+ }
+
private static String vfield = "my_version_l";
private static String lfield = "live_b";
private static String dversion = "del_version";
diff --git a/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java b/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
index d5044e6..eb23904 100644
--- a/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/another/BJQFilterAccessibleTest.java
@@ -28,6 +28,7 @@ import org.apache.lucene.search.join.ToParentBlockJoinQuery;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.search.join.BlockJoinParentQParser;
+import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
@@ -41,6 +42,11 @@ public class BJQFilterAccessibleTest extends SolrTestCaseJ4 {
createIndex();
}
+ @AfterClass
+ public static void afterCursorBJQFilterAccessibleTest() {
+ deleteCore();
+ }
+
public void testAbilityToCreateBJQfromAnotherPackage() throws IOException {
try (SolrQueryRequest req = lrf.makeRequest()) {
TermQuery childQuery = new TermQuery(new Term("child_s", "l"));
diff --git a/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java b/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java
index dfed2cd..d804dc5 100644
--- a/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/IndexBasedSpellCheckerTest.java
@@ -79,7 +79,8 @@ public class IndexBasedSpellCheckerTest extends SolrTestCaseJ4 {
}
@AfterClass
- public static void afterClass() {
+ public static void afterIndexBasedSpellCheckerTest() {
+ deleteCore();
queryConverter = null;
DOCS = null;
}
diff --git a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorWithCollapseTest.java b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorWithCollapseTest.java
index d683a6c..d31e5e5 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorWithCollapseTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorWithCollapseTest.java
@@ -38,8 +38,8 @@ public class SpellCheckCollatorWithCollapseTest extends SolrTestCaseJ4 {
@After
public void tearDown() throws Exception {
- super.tearDown();
deleteCore();
+ super.tearDown();
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/update/processor/NestedAtomicUpdateTest.java b/solr/core/src/test/org/apache/solr/update/processor/NestedAtomicUpdateTest.java
index 2c3c544..5278f45 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/NestedAtomicUpdateTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/NestedAtomicUpdateTest.java
@@ -41,13 +41,15 @@ public class NestedAtomicUpdateTest extends SolrTestCaseJ4 {
private final static String VERSION = "_version_";
@Before
- public void beforeTests() throws Exception {
+ public void setUp() throws Exception {
+ super.setUp();
initCore("solrconfig-tlog.xml", "schema-nest.xml"); // use "nest" schema
}
@After
- public void afterTests() {
+ public void tearDown() throws Exception {
deleteCore();
+ super.tearDown();
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/update/processor/UpdateRequestProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/UpdateRequestProcessorFactoryTest.java
index c06f8bd..5cee455 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/UpdateRequestProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/UpdateRequestProcessorFactoryTest.java
@@ -27,6 +27,7 @@ import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.core.SolrCore;
import org.apache.solr.request.SolrQueryRequest;
import org.apache.solr.response.SolrQueryResponse;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -47,6 +48,11 @@ public class UpdateRequestProcessorFactoryTest extends SolrTestCaseJ4 {
initCore("solrconfig-transformers.xml", "schema.xml");
}
+ @AfterClass
+ public static void afterUpdateRequestProcessorFactoryTest() {
+ deleteCore();
+ }
+
public void testRequestTimeUrp(){
SolrCore core = h.getCore();
ModifiableSolrParams params = new ModifiableSolrParams()
diff --git a/solr/core/src/test/org/apache/solr/util/TestMaxTokenLenTokenizer.java b/solr/core/src/test/org/apache/solr/util/TestMaxTokenLenTokenizer.java
index b7d1d64..ac4dce3 100644
--- a/solr/core/src/test/org/apache/solr/util/TestMaxTokenLenTokenizer.java
+++ b/solr/core/src/test/org/apache/solr/util/TestMaxTokenLenTokenizer.java
@@ -18,6 +18,7 @@
package org.apache.solr.util;
import org.apache.solr.SolrTestCaseJ4;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
/**
@@ -36,6 +37,11 @@ public class TestMaxTokenLenTokenizer extends SolrTestCaseJ4 {
initCore("solrconfig-update-processor-chains.xml", "schema-tokenizer-test.xml");
}
+ @AfterClass
+ public static void afterTestMaxTokenLenTokenizer() {
+ deleteCore();
+ }
+
public void testSingleFieldDiffAnalyzers() throws Exception {
clearIndex();
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/TestSolrJErrorHandling.java b/solr/solrj/src/test/org/apache/solr/client/solrj/TestSolrJErrorHandling.java
index 87ee932..c3d1e83 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/TestSolrJErrorHandling.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/TestSolrJErrorHandling.java
@@ -27,6 +27,7 @@ import org.apache.solr.client.solrj.request.RequestWriter;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;
import org.junit.After;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.slf4j.Logger;
@@ -62,6 +63,11 @@ public class TestSolrJErrorHandling extends SolrJettyTestBase {
jetty = createAndStartJetty(legacyExampleCollection1SolrHome());
}
+ @AfterClass
+ public static void afterTestSolrJErrorHandling() {
+ deleteCore();
+ }
+
@Override
@After
public void tearDown() throws Exception {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
index e674c5d..dc58983 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/embedded/TestSolrProperties.java
@@ -38,10 +38,6 @@ import java.lang.invoke.MethodHandles;
*/
public class TestSolrProperties extends AbstractEmbeddedSolrServerTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
-//
-// @Rule
-// public TestRule solrTestRules =
-// RuleChain.outerRule(new SystemPropertiesRestoreRule());
protected SolrClient getSolrAdmin() {
return new EmbeddedSolrServer(cores, null);
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
index 63b4110..66057e8 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
@@ -27,6 +27,7 @@ import org.apache.solr.client.solrj.response.SpellCheckResponse.Correction;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SpellingParams;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -45,6 +46,11 @@ public class TestSpellCheckResponse extends EmbeddedSolrServerTestBase {
initCore();
}
+ @AfterClass
+ public static void afterTestSpellCheckResponse() {
+ deleteCore();
+ }
+
String field = "name";
@Test
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
index 7f40609..ca55cbd 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java
@@ -26,6 +26,7 @@ import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.request.QueryRequest;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.CommonParams;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -40,6 +41,11 @@ public class TestSuggesterResponse extends EmbeddedSolrServerTestBase {
initCore();
}
+ @AfterClass
+ public static void afterTestSuggesterResponse() {
+ deleteCore();
+ }
+
String field = "cat";
@Test
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
index f1e968e..5006719 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCase.java
@@ -704,8 +704,8 @@ public class SolrTestCase extends Assert {
}
if (thread.getName().contains(ParWork.ROOT_EXEC_NAME + "-")) {
log.warn("interrupt on {}", thread.getName());
- // thread.interrupt();
- return false;
+ thread.interrupt();
+ return true;
}
if (interruptThreadListContains(nameContains, thread.getName())) {
log.warn("interrupt on {}", thread.getName());