[
https://issues.apache.org/jira/browse/LUCENE-7844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16024765#comment-16024765
]
Timothy M. Rodriguez commented on LUCENE-7844:
----------------------------------------------
+1 on the comparator use. That definitely cleaned up some code.
I'm a bit uncertain on the maxPassages change, however. I think it may be
pretty common to pivot the number of passages required per field. For example,
a user may want to highlight a title fully (one passage) and get several
passages from the primary content field. The motivation to get rid of the
parallel arrays makes a lot of sense, maybe we could try to lump all these
options into an object per field? For lack of a better name something like
FieldOptions[] or the like? Longer term, I could even see options for the
break iterator, scorer, and formatter being configured per field. (In the
previous example, it may be better to have a dummy iterator that chunks on
value delineations, a noop scorer, and a formatter that just returns the entire
stored value for the title, while the content would have more traditional
options. I know this is all still possible with overrides in the current
design, but I'm not sure we should push it further into the "specialized"
use-case area. What do you think?
> UnifiedHighlighter: simplify "maxPassages" input API
> ----------------------------------------------------
>
> Key: LUCENE-7844
> URL: https://issues.apache.org/jira/browse/LUCENE-7844
> Project: Lucene - Core
> Issue Type: Improvement
> Components: modules/highlighter
> Reporter: David Smiley
> Priority: Minor
> Fix For: master (7.0)
>
> Attachments: LUCENE_7844__UH_maxPassages_simplification.patch
>
>
> The "maxPassages" input to the UnifiedHighlighter can be provided as an array
> to some of the public methods on UnifiedHighlighter. When it's provided as
> an array, the index in the array is for the field in a parallel array. I
> think this is awkward and furthermore it's inconsistent with the way this
> highlighter customizes things on a by field basis. Instead, the parameter
> can be a simple int default (not an array), and then there can be a protected
> method like {{getMaxPassageCount(String field}} that returns an Integer
> which, when non-null, replaces the default value for this field.
> Aside from API simplicity and consistency, this will also remove some
> annoying parallel array sorting going on.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]