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