Skip to content

Commit

Permalink
Highlighting: Sometimes highlighting returns empty fragments even tho…
Browse files Browse the repository at this point in the history
…ught there should be, closes elastic#613.
  • Loading branch information
kimchy committed Jan 8, 2011
1 parent f77b934 commit 65c73ec
Showing 1 changed file with 11 additions and 12 deletions.
Expand Up @@ -83,18 +83,17 @@ public CustomFieldQuery(Query query, boolean phraseHighlight, boolean fieldMatch
} else if (sourceQuery instanceof MultiTermQuery) {
MultiTermQuery multiTermQuery = (MultiTermQuery) sourceQuery;
MultiTermQuery.RewriteMethod rewriteMethod = multiTermQuery.getRewriteMethod();
if (rewriteMethod != MultiTermQuery.CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE && rewriteMethod != MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE) {
// we need to rewrite
multiTermQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
try {
flatten(multiTermQuery.rewrite(reader.get()), flatQueries);
} catch (IOException e) {
// ignore
} catch (BooleanQuery.TooManyClauses e) {
// ignore
} finally {
multiTermQuery.setRewriteMethod(rewriteMethod);
}
// we want to rewrite a multi term query to extract the terms out of it
// LUCENE MONITOR: The regular Highlighter actually uses MemoryIndex to extract the terms
multiTermQuery.setRewriteMethod(MultiTermQuery.SCORING_BOOLEAN_QUERY_REWRITE);
try {
flatten(multiTermQuery.rewrite(reader.get()), flatQueries);
} catch (IOException e) {
// ignore
} catch (BooleanQuery.TooManyClauses e) {
// ignore
} finally {
multiTermQuery.setRewriteMethod(rewriteMethod);
}
} else if (sourceQuery instanceof FilteredQuery) {
flatten(((FilteredQuery) sourceQuery).getQuery(), flatQueries);
Expand Down

0 comments on commit 65c73ec

Please sign in to comment.