You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by jb...@apache.org on 2016/04/29 16:07:05 UTC

lucene-solr:master: SOLR-9027: Collect the TermContexts in createWeight

Repository: lucene-solr
Updated Branches:
  refs/heads/master f7b333f10 -> 58ad591a6


SOLR-9027: Collect the TermContexts in createWeight


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/58ad591a
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/58ad591a
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/58ad591a

Branch: refs/heads/master
Commit: 58ad591a643e4c48a51d2ca9039b4889a789dbde
Parents: f7b333f
Author: jbernste <jb...@apache.org>
Authored: Fri Apr 29 10:13:23 2016 -0400
Committer: jbernste <jb...@apache.org>
Committed: Fri Apr 29 10:13:37 2016 -0400

----------------------------------------------------------------------
 .../solr/search/GraphTermsQParserPlugin.java    | 29 ++++++++++----------
 1 file changed, 14 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/58ad591a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
index 01dfa2d..05a4c32 100644
--- a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
@@ -100,8 +100,6 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
   private class GraphTermsQuery extends Query implements ExtendedQuery {
 
     private Term[] queryTerms;
-    private List<TermContext> finalContexts;
-    private List<Term> finalTerms;
     private String field;
     private int maxDocFreq;
     private Object id;
@@ -147,19 +145,6 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
 
     @Override
     public Query rewrite(IndexReader reader) throws IOException {
-      this.finalContexts = new ArrayList();
-      this.finalTerms = new ArrayList();
-      List<LeafReaderContext> contexts = reader.leaves();
-      TermContext[] termContexts = new TermContext[this.queryTerms.length];
-      collectTermContext(reader, contexts, termContexts, this.queryTerms);
-      for(int i=0; i<termContexts.length; i++) {
-        TermContext termContext = termContexts[i];
-        if(termContext != null && termContext.docFreq() <= this.maxDocFreq) {
-          this.finalContexts.add(termContext);
-          this.finalTerms.add(queryTerms[i]);
-        }
-      }
-
       return this;
     }
 
@@ -211,6 +196,20 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
 
     @Override
     public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException {
+
+      List<TermContext> finalContexts = new ArrayList();
+      List<Term> finalTerms = new ArrayList();
+      List<LeafReaderContext> contexts = searcher.getTopReaderContext().leaves();
+      TermContext[] termContexts = new TermContext[this.queryTerms.length];
+      collectTermContext(searcher.getIndexReader(), contexts, termContexts, this.queryTerms);
+      for(int i=0; i<termContexts.length; i++) {
+        TermContext termContext = termContexts[i];
+        if(termContext != null && termContext.docFreq() <= this.maxDocFreq) {
+          finalContexts.add(termContext);
+          finalTerms.add(queryTerms[i]);
+        }
+      }
+
       return new ConstantScoreWeight(this) {
 
         @Override