[
https://issues.apache.org/jira/browse/LUCENE-7803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Manuel Gellfart updated LUCENE-7803:
------------------------------------
Description:
Hey,
I just updated my Lucene to 6.5.0 and tried to get rid of the now deprecated
index-time field boosts.
So I did the suggested fix in the deprecation message and added FloatDocValues
to each Document holding the Boosts for each indexed field.
In my current Search Implementation there is one BooleanQuery per Field
containing three BoostQueries. To apply the field boosts from my DocValues I
wrapped each BooleanQuery inside a FunctionScoreQuery like this:
{code:title=WrappedBooleanQueries.java|borderStyle=solid}
BooleanQuery booleanQuery;
...
new FunctionScoreQuery(booleanQuery,
DoubleValuesSource.fromFloatField(fieldName));
{code}
So far it works as expected but I realized that my Highlighting is not working
anymore.
For Highlighting I use the following Snippet:
{code:title=MyHighlighting.java|borderStyle=solid}
public static String[] getFragmentsWithHighlightedTerms(Analyzer analyzer,
Query query, String fieldName, String fieldContents) {
QueryScorer scorer = new QueryScorer(query);
Fragmenter fragmenter = new SimpleFragmenter(80);
Highlighter highlighter = new Highlighter(new EscapeHtmlFormatter(),
scorer);
highlighter.setTextFragmenter(fragmenter);
highlighter.setMaxDocCharsToAnalyze(Integer.MAX_VALUE);
TextFragment[] fragments;
try {
TokenStream tokenStream = analyzer.tokenStream(fieldName,
fieldContents);
fragments = highlighter.getBestTextFragments(tokenStream,
fieldContents, true, 1);
} catch (InvalidTokenOffsetsException e) {
throw WrappedException.wrap(e);
}
return formatFragments(fragments);
}
}
{code}
When I remove the FunctionScorerQuery wrapped around my BooleanQueries the
Highlighting is perfectly fine again. Am I missing something here or is this a
bug?
PS: This is my first post here. I hope I did everything right ;)
Cheers
Manu
was:
Hey,
I just updated my Lucene to 6.5.0 and tried to get rid of the now deprecated
index-time field boosts.
So I did the suggested fix in the deprecation message and added FloatDocValues
to each Document holding the Boosts for each indexed field.
In my current Search Implementation there is one BooleanQuery per Field
containing three BoostQueries. To apply the field boosts from my DocValues I
wrapped each BooleanQuery inside a FunctionScoreQuery like this:
{code:WrappedBooleanQueries.java|borderStyle=solid}
BooleanQuery booleanQuery;
...
new FunctionScoreQuery(booleanQuery,
DoubleValuesSource.fromFloatField(fieldName));
{code}
So far it works as expected but I realized that my Highlighting is not working
anymore.
For Highlighting I use the following Snippet:
{code:title=MyHighlighting.java|borderStyle=solid}
public static String[] getFragmentsWithHighlightedTerms(Analyzer analyzer,
Query query, String fieldName, String fieldContents) {
QueryScorer scorer = new QueryScorer(query);
Fragmenter fragmenter = new SimpleFragmenter(80);
Highlighter highlighter = new Highlighter(new EscapeHtmlFormatter(),
scorer);
highlighter.setTextFragmenter(fragmenter);
highlighter.setMaxDocCharsToAnalyze(Integer.MAX_VALUE);
TextFragment[] fragments;
try {
TokenStream tokenStream = analyzer.tokenStream(fieldName,
fieldContents);
fragments = highlighter.getBestTextFragments(tokenStream,
fieldContents, true, 1);
} catch (InvalidTokenOffsetsException e) {
throw WrappedException.wrap(e);
}
return formatFragments(fragments);
}
}
{code}
When I remove the FunctionScorerQuery wrapped around my BooleanQueries the
Highlighting is perfectly fine again. Am I missing something here or is this a
bug?
PS: This is my first post here. I hope I did everything right ;)
Cheers
Manu
> Problem using FunctionScoreQuery and Highlighting
> -------------------------------------------------
>
> Key: LUCENE-7803
> URL: https://issues.apache.org/jira/browse/LUCENE-7803
> Project: Lucene - Core
> Issue Type: Bug
> Components: core/query/scoring, modules/highlighter
> Affects Versions: 6.5
> Reporter: Manuel Gellfart
> Priority: Minor
>
> Hey,
> I just updated my Lucene to 6.5.0 and tried to get rid of the now deprecated
> index-time field boosts.
> So I did the suggested fix in the deprecation message and added
> FloatDocValues to each Document holding the Boosts for each indexed field.
> In my current Search Implementation there is one BooleanQuery per Field
> containing three BoostQueries. To apply the field boosts from my DocValues I
> wrapped each BooleanQuery inside a FunctionScoreQuery like this:
> {code:title=WrappedBooleanQueries.java|borderStyle=solid}
> BooleanQuery booleanQuery;
> ...
> new FunctionScoreQuery(booleanQuery,
> DoubleValuesSource.fromFloatField(fieldName));
> {code}
> So far it works as expected but I realized that my Highlighting is not
> working anymore.
> For Highlighting I use the following Snippet:
> {code:title=MyHighlighting.java|borderStyle=solid}
> public static String[] getFragmentsWithHighlightedTerms(Analyzer
> analyzer, Query query, String fieldName, String fieldContents) {
> QueryScorer scorer = new QueryScorer(query);
> Fragmenter fragmenter = new SimpleFragmenter(80);
> Highlighter highlighter = new Highlighter(new EscapeHtmlFormatter(),
> scorer);
> highlighter.setTextFragmenter(fragmenter);
> highlighter.setMaxDocCharsToAnalyze(Integer.MAX_VALUE);
> TextFragment[] fragments;
> try {
> TokenStream tokenStream = analyzer.tokenStream(fieldName,
> fieldContents);
> fragments = highlighter.getBestTextFragments(tokenStream,
> fieldContents, true, 1);
> } catch (InvalidTokenOffsetsException e) {
> throw WrappedException.wrap(e);
> }
> return formatFragments(fragments);
> }
> }
> {code}
> When I remove the FunctionScorerQuery wrapped around my BooleanQueries the
> Highlighting is perfectly fine again. Am I missing something here or is this
> a bug?
> PS: This is my first post here. I hope I did everything right ;)
> Cheers
> Manu
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]