diff --git a/src/main/java/org/elasticsearch/common/lucene/docset/BitsDocIdSetIterator.java b/src/main/java/org/elasticsearch/common/lucene/docset/BitsDocIdSetIterator.java deleted file mode 100644 index 8ad2b6c5901..00000000000 --- a/src/main/java/org/elasticsearch/common/lucene/docset/BitsDocIdSetIterator.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.common.lucene.docset; - -import org.apache.lucene.search.DocIdSetIterator; -import org.apache.lucene.search.FilteredDocIdSetIterator; -import org.apache.lucene.util.Bits; - -/** - * A {@link Bits} based iterator. - */ -public class BitsDocIdSetIterator extends MatchDocIdSetIterator { - - private final Bits bits; - - public BitsDocIdSetIterator(Bits bits) { - super(bits.length()); - this.bits = bits; - } - - public BitsDocIdSetIterator(int maxDoc, Bits bits) { - super(maxDoc); - this.bits = bits; - } - - @Override - protected boolean matchDoc(int doc) { - return bits.get(doc); - } - - public static class FilteredIterator extends FilteredDocIdSetIterator { - - private final Bits bits; - - FilteredIterator(DocIdSetIterator innerIter, Bits bits) { - super(innerIter); - this.bits = bits; - } - - @Override - protected boolean match(int doc) { - return bits.get(doc); - } - } - - @Override - public long cost() { - return this.bits.length(); - } -} diff --git a/src/main/java/org/elasticsearch/common/lucene/docset/ContextDocIdSet.java b/src/main/java/org/elasticsearch/common/lucene/docset/ContextDocIdSet.java deleted file mode 100644 index 76a1c1595aa..00000000000 --- a/src/main/java/org/elasticsearch/common/lucene/docset/ContextDocIdSet.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.common.lucene.docset; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.search.DocIdSet; - -/** - * A holder for a {@link DocIdSet} and the {@link LeafReaderContext} it is associated with. - */ -public class ContextDocIdSet { - - public final LeafReaderContext context; - public final DocIdSet docSet; - - public ContextDocIdSet(LeafReaderContext context, DocIdSet docSet) { - this.context = context; - this.docSet = docSet; - } -} diff --git a/src/main/java/org/elasticsearch/common/lucene/docset/DocIdSets.java b/src/main/java/org/elasticsearch/common/lucene/docset/DocIdSets.java index 71cc5d7f9c2..ae24da88f0c 100644 --- a/src/main/java/org/elasticsearch/common/lucene/docset/DocIdSets.java +++ b/src/main/java/org/elasticsearch/common/lucene/docset/DocIdSets.java @@ -19,17 +19,11 @@ package org.elasticsearch.common.lucene.docset; -import org.apache.lucene.index.LeafReader; import org.apache.lucene.search.DocIdSet; import org.apache.lucene.search.DocIdSetIterator; import org.apache.lucene.search.Scorer; import org.apache.lucene.search.TwoPhaseIterator; -import org.apache.lucene.util.BitDocIdSet; -import org.apache.lucene.util.BitSet; import org.apache.lucene.util.Bits; -import org.apache.lucene.util.RamUsageEstimator; -import org.apache.lucene.util.RoaringDocIdSet; -import org.apache.lucene.util.SparseFixedBitSet; import org.elasticsearch.common.Nullable; import java.io.IOException; @@ -38,13 +32,6 @@ import java.io.IOException; */ public class DocIdSets { - /** - * Return the size of the doc id set, plus a reference to it. - */ - public static long sizeInBytes(DocIdSet docIdSet) { - return RamUsageEstimator.NUM_BYTES_OBJECT_REF + docIdSet.ramBytesUsed(); - } - /** * Is it an empty {@link DocIdSet}? */ @@ -52,59 +39,6 @@ public class DocIdSets { return set == null || set == DocIdSet.EMPTY; } - /** - * Converts to a cacheable {@link DocIdSet} - *

- * This never returns null. - */ - public static DocIdSet toCacheable(LeafReader reader, @Nullable DocIdSet set) throws IOException { - if (set == null || set == DocIdSet.EMPTY) { - return DocIdSet.EMPTY; - } - final DocIdSetIterator it = set.iterator(); - if (it == null) { - return DocIdSet.EMPTY; - } - final int firstDoc = it.nextDoc(); - if (firstDoc == DocIdSetIterator.NO_MORE_DOCS) { - return DocIdSet.EMPTY; - } - if (set instanceof BitDocIdSet) { - return set; - } - - final RoaringDocIdSet.Builder builder = new RoaringDocIdSet.Builder(reader.maxDoc()); - builder.add(firstDoc); - for (int doc = it.nextDoc(); doc != DocIdSetIterator.NO_MORE_DOCS; doc = it.nextDoc()) { - builder.add(doc); - } - - return builder.build(); - } - - /** - * Get a build a {@link Bits} instance that will match all documents - * contained in {@code set}. Note that this is a potentially heavy - * operation as this might require to consume an iterator of this set - * entirely and to load it into a {@link BitSet}. Prefer using - * {@link #asSequentialAccessBits} if you only need to consume the - * {@link Bits} once and in order. - */ - public static Bits toSafeBits(int maxDoc, @Nullable DocIdSet set) throws IOException { - if (set == null) { - return new Bits.MatchNoBits(maxDoc); - } - Bits bits = set.bits(); - if (bits != null) { - return bits; - } - DocIdSetIterator iterator = set.iterator(); - if (iterator == null) { - return new Bits.MatchNoBits(maxDoc); - } - return toBitSet(iterator, maxDoc); - } - /** * Given a {@link Scorer}, return a {@link Bits} instance that will match * all documents contained in the set. Note that the returned {@link Bits} @@ -168,18 +102,4 @@ public class DocIdSets { }; } - /** - * Creates a {@link BitSet} from an iterator. - */ - public static BitSet toBitSet(DocIdSetIterator iterator, int numBits) throws IOException { - BitDocIdSet.Builder builder = new BitDocIdSet.Builder(numBits); - builder.or(iterator); - BitDocIdSet result = builder.build(); - if (result != null) { - return result.bits(); - } else { - return new SparseFixedBitSet(numBits); - } - } - } diff --git a/src/main/java/org/elasticsearch/common/lucene/docset/MatchDocIdSetIterator.java b/src/main/java/org/elasticsearch/common/lucene/docset/MatchDocIdSetIterator.java deleted file mode 100644 index 653e17ce5c1..00000000000 --- a/src/main/java/org/elasticsearch/common/lucene/docset/MatchDocIdSetIterator.java +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Licensed to Elasticsearch under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.elasticsearch.common.lucene.docset; - -import org.apache.lucene.search.DocIdSetIterator; - -import java.io.IOException; - -/** - */ -public abstract class MatchDocIdSetIterator extends DocIdSetIterator { - private final int maxDoc; - private int doc = -1; - - public MatchDocIdSetIterator(int maxDoc) { - this.maxDoc = maxDoc; - } - - protected abstract boolean matchDoc(int doc); - - @Override - public int docID() { - return doc; - } - - @Override - public int nextDoc() throws IOException { - do { - doc++; - if (doc >= maxDoc) { - return doc = NO_MORE_DOCS; - } - } while (!matchDoc(doc)); - return doc; - } - - @Override - public int advance(int target) throws IOException { - if (target >= maxDoc) { - return doc = NO_MORE_DOCS; - } - doc = target; - while (!matchDoc(doc)) { - doc++; - if (doc >= maxDoc) { - return doc = NO_MORE_DOCS; - } - } - return doc; - } -}