blob: c83db02681c6c78eff642f218fb3ed5b064dcdb2 [file] [log] [blame]
Index: src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
===================================================================
--- src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java (révision 1149488)
+++ src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java (copie de travail)
@@ -95,11 +95,22 @@
if( pq.getTerms().length > 1 )
flatQueries.add( pq );
else if( pq.getTerms().length == 1 ){
- flatQueries.add( new TermQuery( pq.getTerms()[0] ) );
+ flatten( new TermQuery( pq.getTerms()[0] ), flatQueries );
}
}
}
- // else discard queries
+ else {
+ // Fallback to using extracted terms
+ Set<Term> terms = new HashSet<Term>();
+ try {
+ sourceQuery.extractTerms(terms);
+ } catch (UnsupportedOperationException ignore) { // thrown by default impl
+ return; // ignore error and discard query
+ }
+ for (Term term : terms) {
+ flatten( new TermQuery(term), flatQueries );
+ }
+ }
}
/*
Index: ../CHANGES.txt
===================================================================
--- ../CHANGES.txt (révision 1149488)
+++ ../CHANGES.txt (copie de travail)
@@ -55,6 +55,9 @@
Bug Fixes
+ * LUCENE-3332: Default handling of highlighting for FastVectorHighlither
+ using extracted terms. (Olivier Favre)
+
* LUCENE-3045: fixed QueryNodeImpl.containsTag(String key) that was
not lowercasing the key before checking for the tag (Adriano Crestani)