You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ko...@apache.org on 2012/01/30 03:02:54 UTC

svn commit: r1237528 - in /lucene/dev/trunk/lucene/contrib: CHANGES.txt highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java

Author: koji
Date: Mon Jan 30 02:02:53 2012
New Revision: 1237528

URL: http://svn.apache.org/viewvc?rev=1237528&view=rev
Log:
LUCENE-3719:FVH: slow performance on very large queries

Modified:
    lucene/dev/trunk/lucene/contrib/CHANGES.txt
    lucene/dev/trunk/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java

Modified: lucene/dev/trunk/lucene/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/CHANGES.txt?rev=1237528&r1=1237527&r2=1237528&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/contrib/CHANGES.txt Mon Jan 30 02:02:53 2012
@@ -200,6 +200,9 @@ Bug Fixes
  * LUCENE-3697: SimpleBoundaryScanner does not work well when highlighting
    at the beginning of the text. (Shay Banon via Koji Sekiguchi)
 
+ * LUCENE-3719: FVH: slow performance on very large queries.
+   (Igor Motov via Koji Sekiguchi)
+
 Documentation
 
  * LUCENE-3599: Javadocs for DistanceUtils.haversine() were incorrectly

Modified: lucene/dev/trunk/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java?rev=1237528&r1=1237527&r2=1237528&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java (original)
+++ lucene/dev/trunk/lucene/contrib/highlighter/src/java/org/apache/lucene/search/vectorhighlight/FieldQuery.java Mon Jan 30 02:02:53 2012
@@ -17,11 +17,11 @@ package org.apache.lucene.search.vectorh
  */
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -60,7 +60,7 @@ public class FieldQuery {
 
   FieldQuery( Query query, IndexReader reader, boolean phraseHighlight, boolean fieldMatch ) throws IOException {
     this.fieldMatch = fieldMatch;
-    List<Query> flatQueries = new ArrayList<Query>();
+    Set<Query> flatQueries = new LinkedHashSet<Query>();
     flatten( query, reader, flatQueries );
     saveTerms( flatQueries, reader );
     Collection<Query> expandQueries = expand( flatQueries );
@@ -133,7 +133,7 @@ public class FieldQuery {
    *      => expandQueries={a,"b c","c d","b c d"}
    */
   Collection<Query> expand( Collection<Query> flatQueries ){
-    List<Query> expandQueries = new ArrayList<Query>();
+    Set<Query> expandQueries = new LinkedHashSet<Query>();
     for( Iterator<Query> i = flatQueries.iterator(); i.hasNext(); ){
       Query query = i.next();
       i.remove();