You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2014/11/23 20:00:54 UTC
svn commit: r1641240 - in /lucene/dev/branches/branch_5x: ./ lucene/
lucene/core/ lucene/core/src/java/org/apache/lucene/codecs/
lucene/core/src/java/org/apache/lucene/index/
lucene/core/src/java/org/apache/lucene/search/
lucene/core/src/java/org/apach...
Author: rmuir
Date: Sun Nov 23 19:00:52 2014
New Revision: 1641240
URL: http://svn.apache.org/r1641240
Log:
LUCENE-6068: LeafReader.fields never returns null
Modified:
lucene/dev/branches/branch_5x/ (props changed)
lucene/dev/branches/branch_5x/lucene/ (props changed)
lucene/dev/branches/branch_5x/lucene/CHANGES.txt (contents, props changed)
lucene/dev/branches/branch_5x/lucene/core/ (props changed)
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MergeState.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/TermContext.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
lucene/dev/branches/branch_5x/lucene/misc/ (props changed)
lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java
lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
lucene/dev/branches/branch_5x/lucene/queries/ (props changed)
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsFilter.java
lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
lucene/dev/branches/branch_5x/lucene/test-framework/ (props changed)
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
lucene/dev/branches/branch_5x/solr/ (props changed)
lucene/dev/branches/branch_5x/solr/core/ (props changed)
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRTGBase.java
Modified: lucene/dev/branches/branch_5x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/CHANGES.txt?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/lucene/CHANGES.txt Sun Nov 23 19:00:52 2014
@@ -198,6 +198,8 @@ API Changes
sort/group/etc on a misconfigured field (e.g. no docvalues, no UninvertingReader, etc).
(Robert Muir)
+* LUCENE-6068: LeafReader.fields() never returns null. (Robert Muir)
+
Bug Fixes
* LUCENE-5650: Enforce read-only access to any path outside the temporary
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/codecs/FieldsConsumer.java Sun Nov 23 19:00:52 2014
@@ -93,11 +93,9 @@ public abstract class FieldsConsumer imp
final FieldsProducer f = mergeState.fieldsProducers[readerIndex];
final int maxDoc = mergeState.maxDocs[readerIndex];
- if (f != null) {
- f.checkIntegrity();
- slices.add(new ReaderSlice(docBase, maxDoc, readerIndex));
- fields.add(f);
- }
+ f.checkIntegrity();
+ slices.add(new ReaderSlice(docBase, maxDoc, readerIndex));
+ fields.add(f);
docBase += maxDoc;
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/BufferedUpdatesStream.java Sun Nov 23 19:00:52 2014
@@ -383,10 +383,6 @@ class BufferedUpdatesStream implements A
private synchronized long applyTermDeletes(Iterable<Term> termsIter, ReadersAndUpdates rld, SegmentReader reader) throws IOException {
long delCount = 0;
Fields fields = reader.fields();
- if (fields == null) {
- // This reader has no postings
- return 0;
- }
TermsEnum termsEnum = null;
@@ -456,10 +452,6 @@ class BufferedUpdatesStream implements A
private synchronized void applyDocValuesUpdates(Iterable<? extends DocValuesUpdate> updates,
ReadersAndUpdates rld, SegmentReader reader, DocValuesFieldUpdates.Container dvUpdatesContainer) throws IOException {
Fields fields = reader.fields();
- if (fields == null) {
- // This reader has no postings
- return;
- }
// TODO: we can process the updates per DV field, from last to first so that
// if multiple terms affect same document for the same field, we add an update
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/CheckIndex.java Sun Nov 23 19:00:52 2014
@@ -883,11 +883,6 @@ public class CheckIndex implements Close
final Status.TermIndexStatus status = new Status.TermIndexStatus();
int computedFieldCount = 0;
- if (fields == null) {
- msg(infoStream, "OK [no fields/terms]");
- return status;
- }
-
DocsEnum docs = null;
DocsEnum docsAndFreqs = null;
DocsAndPositionsEnum postings = null;
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ExitableDirectoryReader.java Sun Nov 23 19:00:52 2014
@@ -80,11 +80,7 @@ public class ExitableDirectoryReader ext
@Override
public Fields fields() throws IOException {
- Fields fields = super.fields();
- if (fields == null) {
- return null;
- }
- return new ExitableFields(fields, queryTimeout);
+ return new ExitableFields(super.fields(), queryTimeout);
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/LeafReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/LeafReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/LeafReader.java Sun Nov 23 19:00:52 2014
@@ -136,18 +136,13 @@ public abstract class LeafReader extends
/**
* Returns {@link Fields} for this reader.
- * This method may return null if the reader has no
- * postings.
+ * This method will not return null.
*/
public abstract Fields fields() throws IOException;
@Override
public final int docFreq(Term term) throws IOException {
- final Fields fields = fields();
- if (fields == null) {
- return 0;
- }
- final Terms terms = fields.terms(term.field());
+ final Terms terms = terms(term.field());
if (terms == null) {
return 0;
}
@@ -166,11 +161,7 @@ public abstract class LeafReader extends
* away. */
@Override
public final long totalTermFreq(Term term) throws IOException {
- final Fields fields = fields();
- if (fields == null) {
- return 0;
- }
- final Terms terms = fields.terms(term.field());
+ final Terms terms = terms(term.field());
if (terms == null) {
return 0;
}
@@ -211,11 +202,7 @@ public abstract class LeafReader extends
/** This may return null if the field does not exist.*/
public final Terms terms(String field) throws IOException {
- final Fields fields = fields();
- if (fields == null) {
- return null;
- }
- return fields.terms(field);
+ return fields().terms(field);
}
/** Returns {@link DocsEnum} for the specified term.
@@ -225,14 +212,11 @@ public abstract class LeafReader extends
public final DocsEnum termDocsEnum(Term term) throws IOException {
assert term.field() != null;
assert term.bytes() != null;
- final Fields fields = fields();
- if (fields != null) {
- final Terms terms = fields.terms(term.field());
- if (terms != null) {
- final TermsEnum termsEnum = terms.iterator(null);
- if (termsEnum.seekExact(term.bytes())) {
- return termsEnum.docs(getLiveDocs(), null);
- }
+ final Terms terms = terms(term.field());
+ if (terms != null) {
+ final TermsEnum termsEnum = terms.iterator(null);
+ if (termsEnum.seekExact(term.bytes())) {
+ return termsEnum.docs(getLiveDocs(), null);
}
}
return null;
@@ -245,14 +229,11 @@ public abstract class LeafReader extends
public final DocsAndPositionsEnum termPositionsEnum(Term term) throws IOException {
assert term.field() != null;
assert term.bytes() != null;
- final Fields fields = fields();
- if (fields != null) {
- final Terms terms = fields.terms(term.field());
- if (terms != null) {
- final TermsEnum termsEnum = terms.iterator(null);
- if (termsEnum.seekExact(term.bytes())) {
- return termsEnum.docsAndPositions(getLiveDocs(), null);
- }
+ final Terms terms = terms(term.field());
+ if (terms != null) {
+ final TermsEnum termsEnum = terms.iterator(null);
+ if (termsEnum.seekExact(term.bytes())) {
+ return termsEnum.docsAndPositions(getLiveDocs(), null);
}
}
return null;
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MergeState.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MergeState.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MergeState.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MergeState.java Sun Nov 23 19:00:52 2014
@@ -131,10 +131,7 @@ public class MergeState {
if (termVectorsReader != null) {
termVectorsReader = termVectorsReader.getMergeInstance();
}
- fieldsProducer = segmentReader.fields();
- if (fieldsProducer != null) {
- fieldsProducer = fieldsProducer.getMergeInstance();
- }
+ fieldsProducer = segmentReader.fields().getMergeInstance();
} else {
// A "foreign" reader
normsProducer = readerToNormsProducer(reader);
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MultiFields.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MultiFields.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MultiFields.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/MultiFields.java Sun Nov 23 19:00:52 2014
@@ -62,9 +62,6 @@ public final class MultiFields extends F
public static Fields getFields(IndexReader reader) throws IOException {
final List<LeafReaderContext> leaves = reader.leaves();
switch (leaves.size()) {
- case 0:
- // no fields
- return null;
case 1:
// already an atomic reader / reader with one leave
return leaves.get(0).reader().fields();
@@ -74,14 +71,10 @@ public final class MultiFields extends F
for (final LeafReaderContext ctx : leaves) {
final LeafReader r = ctx.reader();
final Fields f = r.fields();
- if (f != null) {
- fields.add(f);
- slices.add(new ReaderSlice(ctx.docBase, r.maxDoc(), fields.size()-1));
- }
+ fields.add(f);
+ slices.add(new ReaderSlice(ctx.docBase, r.maxDoc(), fields.size()-1));
}
- if (fields.isEmpty()) {
- return null;
- } else if (fields.size() == 1) {
+ if (fields.size() == 1) {
return fields.get(0);
} else {
return new MultiFields(fields.toArray(Fields.EMPTY_ARRAY),
@@ -124,12 +117,7 @@ public final class MultiFields extends F
/** This method may return null if the field does not exist.*/
public static Terms getTerms(IndexReader r, String field) throws IOException {
- final Fields fields = getFields(r);
- if (fields == null) {
- return null;
- } else {
- return fields.terms(field);
- }
+ return getFields(r).terms(field);
}
/** Returns {@link DocsEnum} for the specified field &
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/ParallelLeafReader.java Sun Nov 23 19:00:52 2014
@@ -120,12 +120,10 @@ public class ParallelLeafReader extends
// build Fields instance
for (final LeafReader reader : this.parallelReaders) {
final Fields readerFields = reader.fields();
- if (readerFields != null) {
- for (String field : readerFields) {
- // only add if the reader responsible for that field name is the current:
- if (fieldToReader.get(field) == reader) {
- this.fields.addField(field, readerFields.terms(field));
- }
+ for (String field : readerFields) {
+ // only add if the reader responsible for that field name is the current:
+ if (fieldToReader.get(field) == reader) {
+ this.fields.addField(field, readerFields.terms(field));
}
}
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java Sun Nov 23 19:00:52 2014
@@ -503,9 +503,7 @@ public final class SegmentReader extends
public Iterable<? extends Accountable> getChildResources() {
ensureOpen();
List<Accountable> resources = new ArrayList<>();
- if (core.fields != null) {
- resources.add(Accountables.namedAccountable("postings", core.fields));
- }
+ resources.add(Accountables.namedAccountable("postings", core.fields));
if (core.normsProducer != null) {
resources.add(Accountables.namedAccountable("norms", core.normsProducer));
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/TermContext.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/TermContext.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/TermContext.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/index/TermContext.java Sun Nov 23 19:00:52 2014
@@ -87,16 +87,13 @@ public final class TermContext {
//if (DEBUG) System.out.println("prts.build term=" + term);
for (final LeafReaderContext ctx : context.leaves()) {
//if (DEBUG) System.out.println(" r=" + leaves[i].reader);
- final Fields fields = ctx.reader().fields();
- if (fields != null) {
- final Terms terms = fields.terms(field);
- if (terms != null) {
- final TermsEnum termsEnum = terms.iterator(null);
- if (termsEnum.seekExact(bytes)) {
- final TermState termState = termsEnum.termState();
- //if (DEBUG) System.out.println(" found");
- perReaderTermState.register(termState, ctx.ord, termsEnum.docFreq(), termsEnum.totalTermFreq());
- }
+ final Terms terms = ctx.reader().terms(field);
+ if (terms != null) {
+ final TermsEnum termsEnum = terms.iterator(null);
+ if (termsEnum.seekExact(bytes)) {
+ final TermState termState = termsEnum.termState();
+ //if (DEBUG) System.out.println(" found");
+ perReaderTermState.register(termState, ctx.ord, termsEnum.docFreq(), termsEnum.totalTermFreq());
}
}
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/MultiTermQueryWrapperFilter.java Sun Nov 23 19:00:52 2014
@@ -84,14 +84,7 @@ public class MultiTermQueryWrapperFilter
*/
@Override
public DocIdSet getDocIdSet(LeafReaderContext context, Bits acceptDocs) throws IOException {
- final LeafReader reader = context.reader();
- final Fields fields = reader.fields();
- if (fields == null) {
- // reader has no fields
- return null;
- }
-
- final Terms terms = fields.terms(query.field);
+ final Terms terms = context.reader().terms(query.field);
if (terms == null) {
// field does not exist
return null;
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/TermCollectingRewrite.java Sun Nov 23 19:00:52 2014
@@ -47,13 +47,7 @@ abstract class TermCollectingRewrite<Q e
final void collectTerms(IndexReader reader, MultiTermQuery query, TermCollector collector) throws IOException {
IndexReaderContext topReaderContext = reader.getContext();
for (LeafReaderContext context : topReaderContext.leaves()) {
- final Fields fields = context.reader().fields();
- if (fields == null) {
- // reader has no fields
- continue;
- }
-
- final Terms terms = fields.terms(query.field);
+ final Terms terms = context.reader().terms(query.field);
if (terms == null) {
// field does not exist
continue;
Modified: lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/java/org/apache/lucene/search/spans/SpanTermQuery.java Sun Nov 23 19:00:52 2014
@@ -93,16 +93,11 @@ public class SpanTermQuery extends SpanQ
if (termContext == null) {
// this happens with span-not query, as it doesn't include the NOT side in extractTerms()
// so we seek to the term now in this segment..., this sucks because its ugly mostly!
- final Fields fields = context.reader().fields();
- if (fields != null) {
- final Terms terms = fields.terms(term.field());
- if (terms != null) {
- final TermsEnum termsEnum = terms.iterator(null);
- if (termsEnum.seekExact(term.bytes())) {
- state = termsEnum.termState();
- } else {
- state = null;
- }
+ final Terms terms = context.reader().terms(term.field());
+ if (terms != null) {
+ final TermsEnum termsEnum = terms.iterator(null);
+ if (termsEnum.seekExact(term.bytes())) {
+ state = termsEnum.termState();
} else {
state = null;
}
Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestDocCount.java Sun Nov 23 19:00:52 2014
@@ -58,9 +58,6 @@ public class TestDocCount extends Lucene
private void verifyCount(IndexReader ir) throws Exception {
Fields fields = MultiFields.getFields(ir);
- if (fields == null) {
- return;
- }
for (String field : fields) {
Terms terms = fields.terms(field);
if (terms == null) {
Modified: lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java (original)
+++ lucene/dev/branches/branch_5x/lucene/core/src/test/org/apache/lucene/index/TestStressIndexing2.java Sun Nov 23 19:00:52 2014
@@ -330,7 +330,7 @@ public class TestStressIndexing2 extends
final Bits liveDocs2 = MultiFields.getLiveDocs(r2);
Fields fields = MultiFields.getFields(r2);
- if (fields == null) {
+ if (fields.size() == 0) {
// make sure r1 is in fact empty (eg has only all
// deleted docs):
Bits liveDocs = MultiFields.getLiveDocs(r1);
Modified: lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/index/sorter/SortingLeafReader.java Sun Nov 23 19:00:52 2014
@@ -770,12 +770,7 @@ public class SortingLeafReader extends F
@Override
public Fields fields() throws IOException {
- Fields fields = in.fields();
- if (fields == null) {
- return null;
- } else {
- return new SortingFields(fields, in.getFieldInfos(), docMap);
- }
+ return new SortingFields(in.fields(), in.getFieldInfos(), docMap);
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java (original)
+++ lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/misc/HighFreqTerms.java Sun Nov 23 19:00:52 2014
@@ -96,19 +96,17 @@ public class HighFreqTerms {
TermStatsQueue tiq = null;
if (field != null) {
- Fields fields = MultiFields.getFields(reader);
- if (fields == null) {
+ Terms terms = MultiFields.getTerms(reader, field);
+ if (terms == null) {
throw new RuntimeException("field " + field + " not found");
}
- Terms terms = fields.terms(field);
- if (terms != null) {
- TermsEnum termsEnum = terms.iterator(null);
- tiq = new TermStatsQueue(numTerms, comparator);
- tiq.fill(field, termsEnum);
- }
+
+ TermsEnum termsEnum = terms.iterator(null);
+ tiq = new TermStatsQueue(numTerms, comparator);
+ tiq.fill(field, termsEnum);
} else {
Fields fields = MultiFields.getFields(reader);
- if (fields == null) {
+ if (fields.size() == 0) {
throw new RuntimeException("no fields found for this index");
}
tiq = new TermStatsQueue(numTerms, comparator);
Modified: lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java (original)
+++ lucene/dev/branches/branch_5x/lucene/misc/src/java/org/apache/lucene/uninverting/DocTermOrds.java Sun Nov 23 19:00:52 2014
@@ -29,7 +29,6 @@ import org.apache.lucene.index.DocValues
import org.apache.lucene.index.DocsAndPositionsEnum;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.FieldInfo;
-import org.apache.lucene.index.Fields;
import org.apache.lucene.index.LeafReader;
import org.apache.lucene.index.SortedSetDocValues;
import org.apache.lucene.index.Terms;
@@ -240,11 +239,7 @@ public class DocTermOrds implements Acco
public TermsEnum getOrdTermsEnum(LeafReader reader) throws IOException {
if (indexedTermsArray == null) {
//System.out.println("GET normal enum");
- final Fields fields = reader.fields();
- if (fields == null) {
- return null;
- }
- final Terms terms = fields.terms(field);
+ final Terms terms = reader.terms(field);
if (terms == null) {
return null;
} else {
@@ -295,12 +290,7 @@ public class DocTermOrds implements Acco
final int[] lastTerm = new int[maxDoc]; // last term we saw for this document
final byte[][] bytes = new byte[maxDoc][]; // list of term numbers for the doc (delta encoded vInts)
- final Fields fields = reader.fields();
- if (fields == null) {
- // No terms
- return;
- }
- final Terms terms = fields.terms(field);
+ final Terms terms = reader.terms(field);
if (terms == null) {
// No terms
return;
Modified: lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/CommonTermsQuery.java Sun Nov 23 19:00:52 2014
@@ -239,10 +239,6 @@ public class CommonTermsQuery extends Qu
TermsEnum termsEnum = null;
for (LeafReaderContext context : leaves) {
final Fields fields = context.reader().fields();
- if (fields == null) {
- // reader has no fields
- continue;
- }
for (int i = 0; i < queryTerms.length; i++) {
Term term = queryTerms[i];
TermContext termContext = contextArray[i];
Modified: lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsFilter.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsFilter.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/TermsFilter.java Sun Nov 23 19:00:52 2014
@@ -186,9 +186,6 @@ public final class TermsFilter extends F
BitDocIdSet.Builder builder = new BitDocIdSet.Builder(reader.maxDoc());
final Fields fields = reader.fields();
final BytesRef spare = new BytesRef(this.termsBytes);
- if (fields == null) {
- return builder.build();
- }
Terms terms = null;
TermsEnum termsEnum = null;
DocsEnum docs = null;
Modified: lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java (original)
+++ lucene/dev/branches/branch_5x/lucene/queries/src/java/org/apache/lucene/queries/function/valuesource/SumTotalTermFreqValueSource.java Sun Nov 23 19:00:52 2014
@@ -60,9 +60,7 @@ public class SumTotalTermFreqValueSource
public void createWeight(Map context, IndexSearcher searcher) throws IOException {
long sumTotalTermFreq = 0;
for (LeafReaderContext readerContext : searcher.getTopReaderContext().leaves()) {
- Fields fields = readerContext.reader().fields();
- if (fields == null) continue;
- Terms terms = fields.terms(indexedField);
+ Terms terms = readerContext.reader().terms(indexedField);
if (terms == null) continue;
long v = terms.getSumTotalTermFreq();
if (v == -1) {
Modified: lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java (original)
+++ lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java Sun Nov 23 19:00:52 2014
@@ -43,8 +43,7 @@ public class AssertingLeafReader extends
@Override
public Fields fields() throws IOException {
- Fields fields = super.fields();
- return fields == null ? null : new AssertingFields(fields);
+ return new AssertingFields(super.fields());
}
@Override
Modified: lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java (original)
+++ lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/PerThreadPKLookup.java Sun Nov 23 19:00:52 2014
@@ -60,17 +60,14 @@ public class PerThreadPKLookup {
int numSegs = 0;
boolean hasDeletions = false;
for(int i=0;i<leaves.size();i++) {
- Fields fields = leaves.get(i).reader().fields();
- if (fields != null) {
- Terms terms = fields.terms(idFieldName);
- if (terms != null) {
- termsEnums[numSegs] = terms.iterator(null);
- assert termsEnums[numSegs] != null;
- docBases[numSegs] = leaves.get(i).docBase;
- liveDocs[numSegs] = leaves.get(i).reader().getLiveDocs();
- hasDeletions |= leaves.get(i).reader().hasDeletions();
- numSegs++;
- }
+ Terms terms = leaves.get(i).reader().terms(idFieldName);
+ if (terms != null) {
+ termsEnums[numSegs] = terms.iterator(null);
+ assert termsEnums[numSegs] != null;
+ docBases[numSegs] = leaves.get(i).docBase;
+ liveDocs[numSegs] = leaves.get(i).reader().getLiveDocs();
+ hasDeletions |= leaves.get(i).reader().hasDeletions();
+ numSegs++;
}
}
this.numSegs = numSegs;
Modified: lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java (original)
+++ lucene/dev/branches/branch_5x/lucene/test-framework/src/java/org/apache/lucene/index/ThreadedIndexingAndSearchingTestCase.java Sun Nov 23 19:00:52 2014
@@ -353,9 +353,6 @@ public abstract class ThreadedIndexingAn
if (s.getIndexReader().numDocs() > 0) {
smokeTestSearcher(s);
Fields fields = MultiFields.getFields(s.getIndexReader());
- if (fields == null) {
- continue;
- }
Terms terms = fields.terms("body");
if (terms == null) {
continue;
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/admin/LukeRequestHandler.java Sun Nov 23 19:00:52 2014
@@ -597,14 +597,8 @@ public class LukeRequestHandler extends
final CharsRefBuilder spare = new CharsRefBuilder();
- Fields fields = MultiFields.getFields(req.getSearcher().getIndexReader());
-
- if (fields == null) { // No indexed fields
- return;
- }
-
- Terms terms = fields.terms(field);
- if (terms == null) { // No terms in the field.
+ Terms terms = MultiFields.getTerms(req.getSearcher().getIndexReader(), field);
+ if (terms == null) { // field does not exist
return;
}
TermsEnum termsEnum = terms.iterator(null);
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java Sun Nov 23 19:00:52 2014
@@ -124,9 +124,9 @@ public class TermsComponent extends Sear
NamedList<Integer> fieldTerms = new NamedList<>();
termsResult.add(field, fieldTerms);
- Terms terms = lfields == null ? null : lfields.terms(field);
+ Terms terms = lfields.terms(field);
if (terms == null) {
- // no terms for this field
+ // field does not exist
continue;
}
Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java Sun Nov 23 19:00:52 2014
@@ -779,9 +779,7 @@ public class SolrIndexSearcher extends I
* @return the first document number containing the term
*/
public int getFirstMatch(Term t) throws IOException {
- Fields fields = leafReader.fields();
- if (fields == null) return -1;
- Terms terms = fields.terms(t.field());
+ Terms terms = leafReader.terms(t.field());
if (terms == null) return -1;
BytesRef termBytes = t.bytes();
final TermsEnum termsEnum = terms.iterator(null);
Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRTGBase.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRTGBase.java?rev=1641240&r1=1641239&r2=1641240&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRTGBase.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/search/TestRTGBase.java Sun Nov 23 19:00:52 2014
@@ -126,9 +126,7 @@ public class TestRTGBase extends SolrTes
protected int getFirstMatch(IndexReader r, Term t) throws IOException {
- Fields fields = MultiFields.getFields(r);
- if (fields == null) return -1;
- Terms terms = fields.terms(t.field());
+ Terms terms = MultiFields.getTerms(r, t.field());
if (terms == null) return -1;
BytesRef termBytes = t.bytes();
final TermsEnum termsEnum = terms.iterator(null);