diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
index 2631792cb78..5ffaaa5fbda 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
@@ -157,9 +157,9 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore
}
SchemaField sf = core.getSchema().getUniqueKeyField();
- if( sf == null) {
+ if( sf == null || sf.getType().isTokenized() == true) {
throw new SolrException( SolrException.ErrorCode.SERVER_ERROR,
- "QueryElevationComponent requires the schema to have a uniqueKeyField." );
+ "QueryElevationComponent requires the schema to have a uniqueKeyField implemented using a non-tokenized field" );
}
idSchemaFT = sf.getType();
idField = sf.getName();
diff --git a/solr/core/src/java/org/apache/solr/response/transform/EditorialMarkerFactory.java b/solr/core/src/java/org/apache/solr/response/transform/EditorialMarkerFactory.java
index f5c4d6d7be5..1187623b1e5 100644
--- a/solr/core/src/java/org/apache/solr/response/transform/EditorialMarkerFactory.java
+++ b/solr/core/src/java/org/apache/solr/response/transform/EditorialMarkerFactory.java
@@ -20,12 +20,9 @@ package org.apache.solr.response.transform;
import java.util.Set;
import org.apache.lucene.document.Field;
-import org.apache.lucene.document.NumericField;
import org.apache.solr.common.SolrDocument;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.schema.FieldType;
-import org.apache.solr.schema.SchemaField;
/**
*
@@ -35,9 +32,8 @@ public class EditorialMarkerFactory extends TransformerFactory
{
@Override
public DocTransformer create(String field, SolrParams params, SolrQueryRequest req) {
- SchemaField uniqueKeyField = req.getSchema().getUniqueKeyField();
- String idfield = uniqueKeyField.getName();
- return new MarkTransformer(field,idfield, uniqueKeyField.getType());
+ String idfield = req.getSchema().getUniqueKeyField().getName();
+ return new MarkTransformer(field,idfield);
}
}
@@ -45,13 +41,11 @@ class MarkTransformer extends TransformerWithContext
{
final String name;
final String idFieldName;
- final FieldType ft;
- public MarkTransformer( String name, String idFieldName, FieldType ft)
+ public MarkTransformer( String name, String idFieldName)
{
this.name = name;
this.idFieldName = idFieldName;
- this.ft = ft;
}
@Override
@@ -66,15 +60,11 @@ class MarkTransformer extends TransformerWithContext
if(ids!=null) {
String key;
Object field = doc.get(idFieldName);
- if (field instanceof NumericField){
- key = ((Field)field).stringValue();
- key = ft.readableToIndexed(key);
- } else if (field instanceof Field){
+ if (field instanceof Field){
key = ((Field)field).stringValue();
} else {
key = field.toString();
}
-
doc.setField(name, ids.contains(key));
} else {
//if we have no ids, that means we weren't boosting, but the user still asked for the field to be added, so just mark everything as false
diff --git a/solr/core/src/test-files/solr/conf/elevate.xml b/solr/core/src/test-files/solr/conf/elevate.xml
index c9a9fe4bdb6..19196a6559e 100644
--- a/solr/core/src/test-files/solr/conf/elevate.xml
+++ b/solr/core/src/test-files/solr/conf/elevate.xml
@@ -34,7 +34,7 @@
-
+
diff --git a/solr/core/src/test-files/solr/conf/solrconfig.xml b/solr/core/src/test-files/solr/conf/solrconfig.xml
index 50bf213eb7e..8c916d599ec 100644
--- a/solr/core/src/test-files/solr/conf/solrconfig.xml
+++ b/solr/core/src/test-files/solr/conf/solrconfig.xml
@@ -425,20 +425,6 @@
-
-
- string
- ${elevate.file:elevate.xml}
-
-
-
-
- explicit
-
-
- elevate
-
-
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 9bec31f4ba7..01989e59afe 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
@@ -53,11 +53,6 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
}
private void init(String schema) throws Exception {
- init("solrconfig-elevate.xml", schema);
-
- }
-
- private void init(String config, String schema) throws Exception {
//write out elevate-data.xml to the Data dir first by copying it from conf, which we know exists, this way we can test both conf and data configurations
createTempDir();
File parent = new File(TEST_HOME(), "conf");
@@ -65,7 +60,7 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
File elevateDataFile = new File(dataDir, "elevate-data.xml");
FileUtils.copyFile(elevateFile, elevateDataFile);
- initCore(config,schema);
+ initCore("solrconfig-elevate.xml",schema);
clearIndex();
assertU(commit());
}
@@ -107,39 +102,6 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
}
}
- @Test
- public void testTrieFieldType() throws Exception {
- try {
- init("solrconfig.xml", "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]/int[@name='id'][.='7']"
- ,"//result/doc[2]/int[@name='id'][.='8']"
- ,"//result/doc[3]/int[@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
{
@@ -226,7 +188,7 @@ public class QueryElevationComponentTest extends SolrTestCaseJ4 {
CommonParams.FL, "id, score, [elevated]")
,"//*[@numFound='1']"
,"//result/doc[1]/str[@name='id'][.='7']",
- "//result/doc[1]/bool[@name='[elevated]'][.='true']"
+ "//result/doc[1]/bool[@name='[elevated]'][.='false']"
);
assertQ("", req(CommonParams.Q, "AAAA", CommonParams.QT, "/elevate",