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:53:50 UTC
lucene-solr:master: SOLR-9027: Pull the TermsEnum once for each
segment
Repository: lucene-solr
Updated Branches:
refs/heads/master 58ad591a6 -> 3d3c3fb5f
SOLR-9027: Pull the TermsEnum once for each segment
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/3d3c3fb5
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/3d3c3fb5
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/3d3c3fb5
Branch: refs/heads/master
Commit: 3d3c3fb5fc2db39f433c5f449d0bee81ef89a189
Parents: 58ad591
Author: jbernste <jb...@apache.org>
Authored: Fri Apr 29 11:00:10 2016 -0400
Committer: jbernste <jb...@apache.org>
Committed: Fri Apr 29 11:00:10 2016 -0400
----------------------------------------------------------------------
.../solr/search/GraphTermsQParserPlugin.java | 21 ++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/3d3c3fb5/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 05a4c32..0df8f5e 100644
--- a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
@@ -283,19 +283,21 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
Term[] queryTerms) throws IOException {
TermsEnum termsEnum = null;
for (LeafReaderContext context : leaves) {
- final Fields fields = context.reader().fields();
+
+ Terms terms = context.reader().terms(this.field);
+ if (terms == null) {
+ // field does not exist
+ continue;
+ }
+
+ termsEnum = terms.iterator();
+
+ if (termsEnum == TermsEnum.EMPTY) continue;
+
for (int i = 0; i < queryTerms.length; i++) {
Term term = queryTerms[i];
TermContext termContext = contextArray[i];
- final Terms terms = fields.terms(term.field());
- if (terms == null) {
- // field does not exist
- continue;
- }
- termsEnum = terms.iterator();
- assert termsEnum != null;
- if (termsEnum == TermsEnum.EMPTY) continue;
if (termsEnum.seekExact(term.bytes())) {
if (termContext == null) {
contextArray[i] = new TermContext(reader.getContext(),
@@ -305,7 +307,6 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
termContext.register(termsEnum.termState(), context.ord,
termsEnum.docFreq(), termsEnum.totalTermFreq());
}
-
}
}
}