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