You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ja...@apache.org on 2014/01/03 10:05:00 UTC
svn commit: r1555035 - in /lucene/dev/trunk/solr: CHANGES.txt
core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
core/src/test/org/apache/solr/highlight/HighlighterTest.java
Author: janhoy
Date: Fri Jan 3 09:04:59 2014
New Revision: 1555035
URL: http://svn.apache.org/r1555035
Log:
SOLR-5564: hl.maxAlternateFieldLength should apply to original field when fallback field does not exist
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
lucene/dev/trunk/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1555035&r1=1555034&r2=1555035&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Jan 3 09:04:59 2014
@@ -197,7 +197,7 @@ Bug Fixes
* SOLR-5577: Likely ZooKeeper expiration should not slow down updates a given
amount, but instead cut off updates after a given time.
(Mark Miller, Christine Poerschke)
-
+
Optimizations
----------------------
@@ -335,6 +335,9 @@ Bug Fixes
* SOLR-5588: PeerSync doesn't count all connect failures as success.
(Mark Miller)
+* SOLR-5564: hl.maxAlternateFieldLength should apply to original field when
+ fallback is attempted (janhoy)
+
Optimizations
----------------------
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java?rev=1555035&r1=1555034&r2=1555035&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java Fri Jan 3 09:04:59 2014
@@ -602,6 +602,10 @@ public class DefaultSolrHighlighter exte
String alternateField = params.getFieldParam(fieldName, HighlightParams.ALTERNATE_FIELD);
if (alternateField != null && alternateField.length() > 0) {
StorableField[] docFields = doc.getFields(alternateField);
+ if (docFields.length == 0) {
+ // The alternate field did not exist, treat the original field as fallback instead
+ docFields = doc.getFields(fieldName);
+ }
List<String> listFields = new ArrayList<String>();
for (StorableField field : docFields) {
if (field.binaryValue() == null)
Modified: lucene/dev/trunk/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java?rev=1555035&r1=1555034&r2=1555035&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java (original)
+++ lucene/dev/trunk/solr/core/src/test/org/apache/solr/highlight/HighlighterTest.java Fri Jan 3 09:04:59 2014
@@ -660,6 +660,16 @@ public class HighlighterTest extends Sol
"//lst[@name='highlighting']/lst[@name='1' and count(*)=1]",
"//lst[@name='highlighting']/lst[@name='1']/arr[@name='t_text']/str[.='a piece of text']"
);
+
+ // with a non-existing alternate field + max length
+ args.put("hl.alternateField", "NonExistingField");
+ args.put("hl.maxAlternateFieldLength", "15");
+ sumLRF = h.getRequestFactory("standard", 0, 200, args);
+ assertQ("Alternate summarization",
+ sumLRF.makeRequest("tv_text:keyword"),
+ "//lst[@name='highlighting']/lst[@name='1' and count(*)=1]",
+ "//lst[@name='highlighting']/lst[@name='1']/arr[@name='t_text']/str[.='a piece of text']"
+ );
}
@Test