remove some unnecessary MultiFields usage

git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1055501 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael McCandless 2011-01-05 16:07:26 +00:00
parent 650443ce4e
commit 24e41ab20a
9 changed files with 21 additions and 26 deletions

View File

@ -17,7 +17,6 @@ package org.apache.lucene.search;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.Bits;
import java.io.IOException;
@ -72,7 +71,7 @@ public class CachingSpanFilter extends SpanFilter {
private SpanFilterResult getCachedResult(IndexReader reader) throws IOException {
final Object coreKey = reader.getCoreCacheKey();
final Object delCoreKey = reader.hasDeletions() ? MultiFields.getDeletedDocs(reader) : coreKey;
final Object delCoreKey = reader.hasDeletions() ? reader.getDeletedDocs() : coreKey;
SpanFilterResult result = cache.get(reader, coreKey, delCoreKey);
if (result != null) {

View File

@ -23,7 +23,6 @@ import java.util.Map;
import java.util.WeakHashMap;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.OpenBitSetDISI;
import org.apache.lucene.util.Bits;
@ -105,7 +104,7 @@ public class CachingWrapperFilter extends Filter {
// deletions
value = cache.get(coreKey);
if (value != null) {
final Bits delDocs = MultiFields.getDeletedDocs(reader);
final Bits delDocs = reader.getDeletedDocs();
if (delDocs != null) {
value = mergeDeletes(delDocs, value);
}
@ -195,7 +194,7 @@ public class CachingWrapperFilter extends Filter {
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final Object coreKey = reader.getCoreCacheKey();
final Object delCoreKey = reader.hasDeletions() ? MultiFields.getDeletedDocs(reader) : coreKey;
final Object delCoreKey = reader.hasDeletions() ? reader.getDeletedDocs() : coreKey;
DocIdSet docIdSet = cache.get(reader, coreKey, delCoreKey);
if (docIdSet != null) {

View File

@ -532,7 +532,7 @@ public abstract class FieldCacheRangeFilter<T> extends Filter {
@Override
public DocIdSetIterator iterator() throws IOException {
final Bits skipDocs = canIgnoreDeletedDocs ? null : MultiFields.getDeletedDocs(reader);
final Bits skipDocs = canIgnoreDeletedDocs ? null : reader.getDeletedDocs();
if (skipDocs == null) {
// Specialization optimization disregard deletions

View File

@ -39,9 +39,9 @@ public abstract class Filter implements java.io.Serializable {
* the top-level reader.
*
* @param reader a {@link IndexReader} instance opened on the index currently
* searched on. Note, it is likely that the provided reader does not
* represent the whole underlying index i.e. if the index has more than
* one segment the given reader only represents a single segment.
* searched on. The provided reader is always an
* atomic reader, so you can call reader.fields()
* or reader.getDeletedDocs(), for example.
*
* @return a DocIdSet that provides the documents which should be permitted or
* prohibited in search results. <b>NOTE:</b> null can be returned if

View File

@ -19,7 +19,6 @@ package org.apache.lucene.search;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.Bits;
@ -55,7 +54,7 @@ public class MatchAllDocsQuery extends Query {
MatchAllScorer(IndexReader reader, Similarity similarity, Weight w,
byte[] norms) throws IOException {
super(similarity,w);
delDocs = MultiFields.getDeletedDocs(reader);
delDocs = reader.getDeletedDocs();
score = w.getValue();
maxDoc = reader.maxDoc();
this.norms = norms;

View File

@ -24,7 +24,6 @@ import org.apache.lucene.index.Fields;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.index.DocsEnum;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.OpenBitSet;
import org.apache.lucene.util.Bits;
@ -106,7 +105,7 @@ public class MultiTermQueryWrapperFilter<Q extends MultiTermQuery> extends Filte
*/
@Override
public DocIdSet getDocIdSet(IndexReader reader) throws IOException {
final Fields fields = MultiFields.getFields(reader);
final Fields fields = reader.fields();
if (fields == null) {
// reader has no fields
return DocIdSet.EMPTY_DOCIDSET;
@ -124,7 +123,7 @@ public class MultiTermQueryWrapperFilter<Q extends MultiTermQuery> extends Filte
// fill into a OpenBitSet
final OpenBitSet bitSet = new OpenBitSet(reader.maxDoc());
int termCount = 0;
final Bits delDocs = MultiFields.getDeletedDocs(reader);
final Bits delDocs = reader.getDeletedDocs();
DocsEnum docsEnum = null;
do {
termCount++;

View File

@ -20,7 +20,6 @@ package org.apache.lucene.search.function;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.search.*;
import org.apache.lucene.index.Term;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.util.ToStringUtils;
import org.apache.lucene.util.Bits;
@ -138,7 +137,7 @@ public class ValueSourceQuery extends Query {
qWeight = w.getValue();
// this is when/where the values are first created.
vals = valSrc.getValues(reader);
delDocs = MultiFields.getDeletedDocs(reader);
delDocs = reader.getDeletedDocs();
maxDoc = reader.maxDoc();
}

View File

@ -25,6 +25,7 @@ import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.MultiFields;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.index.Terms;
import org.apache.lucene.index.TermsEnum;
import org.apache.lucene.store.Directory;
@ -32,10 +33,9 @@ import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.NumericUtils;
import org.apache.lucene.util._TestUtil;
import org.junit.Test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestNumericRangeQuery32 extends LuceneTestCase {
// distance of entries
@ -177,13 +177,13 @@ public class TestNumericRangeQuery32 extends LuceneTestCase {
@Test
public void testInverseRange() throws Exception {
NumericRangeFilter<Integer> f = NumericRangeFilter.newIntRange("field8", 8, 1000, -1000, true, true);
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
f = NumericRangeFilter.newIntRange("field8", 8, Integer.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Integer.MAX_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
f = NumericRangeFilter.newIntRange("field8", 8, null, Integer.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Integer.MIN_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
}
@Test

View File

@ -24,15 +24,15 @@ import org.apache.lucene.document.NumericField;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.RandomIndexWriter;
import org.apache.lucene.index.SlowMultiReaderWrapper;
import org.apache.lucene.store.Directory;
import org.apache.lucene.util.BytesRef;
import org.apache.lucene.util.LuceneTestCase;
import org.apache.lucene.util.NumericUtils;
import org.apache.lucene.util._TestUtil;
import org.junit.Test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestNumericRangeQuery64 extends LuceneTestCase {
// distance of entries
@ -182,13 +182,13 @@ public class TestNumericRangeQuery64 extends LuceneTestCase {
@Test
public void testInverseRange() throws Exception {
NumericRangeFilter<Long> f = NumericRangeFilter.newLongRange("field8", 8, 1000L, -1000L, true, true);
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
assertSame("A inverse range should return the EMPTY_DOCIDSET instance", DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
f = NumericRangeFilter.newLongRange("field8", 8, Long.MAX_VALUE, null, false, false);
assertSame("A exclusive range starting with Long.MAX_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
f = NumericRangeFilter.newLongRange("field8", 8, null, Long.MIN_VALUE, false, false);
assertSame("A exclusive range ending with Long.MIN_VALUE should return the EMPTY_DOCIDSET instance",
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(searcher.getIndexReader()));
DocIdSet.EMPTY_DOCIDSET, f.getDocIdSet(new SlowMultiReaderWrapper(searcher.getIndexReader())));
}
@Test