Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.apache.solr.highlight;

import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.text.BreakIterator;
import java.util.Collection;
import java.util.Collections;
Expand Down Expand Up @@ -53,6 +54,8 @@
import org.apache.solr.search.SolrReturnFields;
import org.apache.solr.util.RTimerTree;
import org.apache.solr.util.plugin.PluginInfoInitialized;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Highlighter impl that uses {@link UnifiedHighlighter}
Expand Down Expand Up @@ -132,10 +135,16 @@
*/
public class UnifiedSolrHighlighter extends SolrHighlighter implements PluginInfoInitialized {

private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());

protected static final String SNIPPET_SEPARATOR = "\u0000";

@Override
public void init(PluginInfo info) {}
public void init(PluginInfo info) {
for (PluginInfo child : info.children) {
log.warn("unused configuration: {}", child);
}
}

@Override
public NamedList<Object> doHighlighting(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<requestHandler name="/select" class="solr.SearchHandler"/>

<searchComponent class="solr.HighlightComponent" name="highlight">
<highlighting class="org.apache.solr.highlight.DummyHighlighter">
<highlighting class="${solr.highlighting:org.apache.solr.highlight.DummyHighlighter}">
<!-- Configure the standard fragmenter -->
<fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true">
<lst name="defaults">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,30 @@
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.handler.component.HighlightComponent;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HighlighterConfigTest extends SolrTestCaseJ4 {

private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private static boolean useUnified;

@BeforeClass
public static void beforeClass() throws Exception {
useUnified = random().nextBoolean();
if (useUnified) {
System.setProperty("solr.highlighting", UnifiedSolrHighlighter.class.getName());
}
initCore("solrconfig-highlight.xml", "schema.xml");
}

@AfterClass
public static void afterClass() throws Exception {
System.clearProperty("solr.highlighting");
}

@Override
public void setUp() throws Exception {
// if you override setUp or tearDown, you better call
Expand All @@ -53,6 +64,10 @@ public void testConfig() {
SolrHighlighter highlighter = getHighlighter();
log.info("highlighter");

if (useUnified) {
assertTrue(highlighter instanceof UnifiedSolrHighlighter);
return;
}
assertTrue(highlighter instanceof DummyHighlighter);

// check to see that doHighlight is called from the DummyHighlighter
Expand Down