[ 
https://issues.apache.org/jira/browse/SOLR-9708?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15662927#comment-15662927
 ] 

ASF GitHub Bot commented on SOLR-9708:
--------------------------------------

Github user dsmiley commented on a diff in the pull request:

    https://github.com/apache/lucene-solr/pull/107#discussion_r87741032
  
    --- Diff: 
solr/core/src/java/org/apache/solr/highlight/UnifiedSolrHighlighter.java ---
    @@ -0,0 +1,366 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *     http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +package org.apache.solr.highlight;
    +
    +import java.io.IOException;
    +import java.text.BreakIterator;
    +import java.util.Collections;
    +import java.util.List;
    +import java.util.Locale;
    +import java.util.Map;
    +import java.util.Set;
    +
    +import org.apache.lucene.document.Document;
    +import org.apache.lucene.search.DocIdSetIterator;
    +import org.apache.lucene.search.Query;
    +import org.apache.lucene.search.postingshighlight.WholeBreakIterator;
    +import org.apache.lucene.search.uhighlight.DefaultPassageFormatter;
    +import org.apache.lucene.search.uhighlight.PassageFormatter;
    +import org.apache.lucene.search.uhighlight.PassageScorer;
    +import org.apache.lucene.search.uhighlight.UnifiedHighlighter;
    +import org.apache.solr.common.params.HighlightParams;
    +import org.apache.solr.common.params.SolrParams;
    +import org.apache.solr.common.util.NamedList;
    +import org.apache.solr.common.util.SimpleOrderedMap;
    +import org.apache.solr.core.PluginInfo;
    +import org.apache.solr.request.SolrQueryRequest;
    +import org.apache.solr.request.SolrRequestInfo;
    +import org.apache.solr.schema.IndexSchema;
    +import org.apache.solr.schema.SchemaField;
    +import org.apache.solr.search.DocIterator;
    +import org.apache.solr.search.DocList;
    +import org.apache.solr.search.SolrIndexSearcher;
    +import org.apache.solr.util.RTimerTree;
    +import org.apache.solr.util.plugin.PluginInfoInitialized;
    +
    +/*
    + * TODO: The HighlightComponent should not call rewrite on the query; it 
should be up to the
    + * SolrHighlighter to do if needed.  Furthermore this arrangement is odd 
-- why are these abstractions separate?
    + */
    +
    +/**
    + * Highlighter impl that uses {@link UnifiedHighlighter}
    + * <p>
    + * Example configuration with default values:
    + * <pre class="prettyprint">
    + * &lt;requestHandler name="standard" 
class="solr.StandardRequestHandler"&gt;
    + * &lt;lst name="defaults"&gt;
    + * &lt;int name="hl.snippets"&gt;1&lt;/int&gt;
    + * &lt;str name="hl.tag.pre"&gt;&amp;lt;em&amp;gt;&lt;/str&gt;
    + * &lt;str name="hl.tag.post"&gt;&amp;lt;/em&amp;gt;&lt;/str&gt;
    + * &lt;str name="hl.tag.ellipsis"&gt;... &lt;/str&gt;
    + * &lt;bool name="hl.defaultSummary"&gt;true&lt;/bool&gt;
    + * &lt;str name="hl.encoder"&gt;simple&lt;/str&gt;
    + * &lt;float name="hl.score.k1"&gt;1.2&lt;/float&gt;
    + * &lt;float name="hl.score.b"&gt;0.75&lt;/float&gt;
    + * &lt;float name="hl.score.pivot"&gt;87&lt;/float&gt;
    + * &lt;str name="hl.bs.language"&gt;&lt;/str&gt;
    + * &lt;str name="hl.bs.country"&gt;&lt;/str&gt;
    + * &lt;str name="hl.bs.variant"&gt;&lt;/str&gt;
    + * &lt;str name="hl.bs.type"&gt;SENTENCE&lt;/str&gt;
    + * &lt;int name="hl.maxAnalyzedChars"&gt;10000&lt;/int&gt;
    + * &lt;bool name="hl.highlightMultiTerm"&gt;true&lt;/bool&gt;
    + * &lt;/lst&gt;
    + * &lt;/requestHandler&gt;
    + * </pre>
    + * ...
    + * <pre class="prettyprint">
    + * &lt;searchComponent class="solr.HighlightComponent" name="highlight"&gt;
    + * &lt;highlighting 
class="org.apache.solr.highlight.UnifiedSolrHighlighter"/&gt;
    + * &lt;/searchComponent&gt;
    + * </pre>
    + * <p>
    + * Notes:
    + * <ul>
    + * <li>hl.q (string) can specify the query
    + * <li>hl.fl (string) specifies the field list.
    + * <li>hl.snippets (int) specifies how many snippets to return.
    + * <li>hl.tag.pre (string) specifies text which appears before a 
highlighted term.
    + * <li>hl.tag.post (string) specifies text which appears after a 
highlighted term.
    + * <li>hl.tag.ellipsis (string) specifies text which joins non-adjacent 
passages. The default is to retain each
    + * value in a list without joining them.
    + * <li>hl.defaultSummary (bool) specifies if a field should have a default 
summary of the leading text.
    + * <li>hl.encoder (string) can be 'html' (html escapes content) or 
'simple' (no escaping).
    + * <li>hl.score.k1 (float) specifies bm25 scoring parameter 'k1'
    + * <li>hl.score.b (float) specifies bm25 scoring parameter 'b'
    + * <li>hl.score.pivot (float) specifies bm25 scoring parameter 'avgdl'
    + * <li>hl.bs.type (string) specifies how to divide text into passages: 
[SENTENCE, LINE, WORD, CHAR, WHOLE]
    + * <li>hl.bs.language (string) specifies language code for BreakIterator. 
default is empty string (root locale)
    + * <li>hl.bs.country (string) specifies country code for BreakIterator. 
default is empty string (root locale)
    + * <li>hl.bs.variant (string) specifies country code for BreakIterator. 
default is empty string (root locale)
    + * <li>hl.maxAnalyzedChars specifies how many characters at most will be 
processed in a document for any one field.
    + * <li>hl.highlightMultiTerm enables highlighting for 
range/wildcard/fuzzy/prefix queries at some cost.
    + * <li>hl.usePhraseHighlighter (bool) enables highlighting phrases and 
some other queries strictly at some cost.</li>
    --- End diff --
    
    We know this is actually faster.  So I think we can remove the reference 
here.  But I think we forgot it in the list above to indicate it's true by 
default.


> Expose UnifiedHighlighter in Solr
> ---------------------------------
>
>                 Key: SOLR-9708
>                 URL: https://issues.apache.org/jira/browse/SOLR-9708
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: highlighter
>            Reporter: Timothy M. Rodriguez
>            Assignee: David Smiley
>             Fix For: 6.4
>
>
> This ticket is for creating a Solr plugin that can utilize the new 
> UnifiedHighlighter which was initially committed in 
> https://issues.apache.org/jira/browse/LUCENE-7438



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to