You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2017/10/03 13:38:53 UTC
[12/50] [abbrv] lucene-solr:feature/autoscaling: SOLR-11399:
hl.fragsize was ignored when hl.bs.type=SEPARATOR
SOLR-11399: hl.fragsize was ignored when hl.bs.type=SEPARATOR
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/3b0f46b2
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/3b0f46b2
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/3b0f46b2
Branch: refs/heads/feature/autoscaling
Commit: 3b0f46b27defeb0bdcf70bc647872742a952822a
Parents: 6fe7829
Author: David Smiley <ds...@apache.org>
Authored: Tue Sep 26 10:32:00 2017 -0400
Committer: David Smiley <ds...@apache.org>
Committed: Tue Sep 26 10:32:00 2017 -0400
----------------------------------------------------------------------
solr/CHANGES.txt | 3 +++
.../solr/highlight/UnifiedSolrHighlighter.java | 18 +++++++++++-------
.../highlight/TestUnifiedSolrHighlighter.java | 3 +++
3 files changed, 17 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3b0f46b2/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 18219d4..2e1c70d 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -148,6 +148,9 @@ Bug Fixes
* SOLR-11297: Message "Lock held by this virtual machine" during startup. Solr is trying to start some cores twice.
(Luiz Armesto, Shawn Heisey, Erick Erickson)
+* SOLR-11399: The UnifiedHighlighter was ignoring the hl.fragsize parameter when hl.bs.type=SEPARATOR
+ (Marc Morissette via David Smiley)
+
Optimizations
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3b0f46b2/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java b/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
index 48cb874..a4beaba 100644
--- a/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java
@@ -310,15 +310,19 @@ public class UnifiedSolrHighlighter extends SolrHighlighter implements PluginInf
String type = params.getFieldParam(field, HighlightParams.BS_TYPE);
if (fragsize == 0 || "WHOLE".equals(type)) { // 0 is special value; no fragmenting
return new WholeBreakIterator();
- } else if ("SEPARATOR".equals(type)) {
+ }
+
+ BreakIterator baseBI;
+ if ("SEPARATOR".equals(type)) {
char customSep = parseBiSepChar(params.getFieldParam(field, HighlightParams.BS_SEP));
- return new CustomSeparatorBreakIterator(customSep);
+ baseBI = new CustomSeparatorBreakIterator(customSep);
+ } else {
+ String language = params.getFieldParam(field, HighlightParams.BS_LANGUAGE);
+ String country = params.getFieldParam(field, HighlightParams.BS_COUNTRY);
+ String variant = params.getFieldParam(field, HighlightParams.BS_VARIANT);
+ Locale locale = parseLocale(language, country, variant);
+ baseBI = parseBreakIterator(type, locale);
}
- String language = params.getFieldParam(field, HighlightParams.BS_LANGUAGE);
- String country = params.getFieldParam(field, HighlightParams.BS_COUNTRY);
- String variant = params.getFieldParam(field, HighlightParams.BS_VARIANT);
- Locale locale = parseLocale(language, country, variant);
- BreakIterator baseBI = parseBreakIterator(type, locale);
if (fragsize <= 1) { // no real minimum size
return baseBI;
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3b0f46b2/solr/core/src/test/org/apache/solr/highlight/TestUnifiedSolrHighlighter.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/highlight/TestUnifiedSolrHighlighter.java b/solr/core/src/test/org/apache/solr/highlight/TestUnifiedSolrHighlighter.java
index ad1ca03..aeffed1 100644
--- a/solr/core/src/test/org/apache/solr/highlight/TestUnifiedSolrHighlighter.java
+++ b/solr/core/src/test/org/apache/solr/highlight/TestUnifiedSolrHighlighter.java
@@ -256,6 +256,9 @@ public class TestUnifiedSolrHighlighter extends SolrTestCaseJ4 {
req("q", "text:document", "sort", "id asc", "hl", "true", "hl.bs.type", "SEPARATOR","hl.bs.separator","#","hl.fragsize", "-1"),
"//lst[@name='highlighting']/lst[@name='104']/arr[@name='text']/str='While the other <em>document</em> contains the same #'");
+ assertQ("CUSTOM breakiterator with fragsize 70",
+ req("q", "text:document", "sort", "id asc", "hl", "true", "hl.bs.type", "SEPARATOR","hl.bs.separator","#","hl.fragsize", "70"),
+ "//lst[@name='highlighting']/lst[@name='103']/arr[@name='text']/str='This <em>document</em> contains # special characters, while the other <em>document</em> contains the same #'");
}
public void testFragsize() {