diff --git a/src/main/java/org/elasticsearch/index/cache/bitset/BitsetFilterCache.java b/src/main/java/org/elasticsearch/index/cache/bitset/BitsetFilterCache.java index 03b9fab695dad..d85116196a4f5 100644 --- a/src/main/java/org/elasticsearch/index/cache/bitset/BitsetFilterCache.java +++ b/src/main/java/org/elasticsearch/index/cache/bitset/BitsetFilterCache.java @@ -45,7 +45,6 @@ import org.elasticsearch.index.mapper.MapperService; import org.elasticsearch.index.mapper.internal.ParentFieldMapper; import org.elasticsearch.index.mapper.object.ObjectMapper; -import org.elasticsearch.index.search.nested.NestedDocsFilter; import org.elasticsearch.index.search.nested.NonNestedDocsFilter; import org.elasticsearch.index.service.IndexService; import org.elasticsearch.index.service.InternalIndexService; @@ -268,7 +267,6 @@ public TerminationHandle warmNewReaders(final IndexShard indexShard, IndexMetaDa if (hasNested) { warmUp.add(NonNestedDocsFilter.INSTANCE); - warmUp.add(NestedDocsFilter.INSTANCE); } final Executor executor = threadPool.executor(executor()); diff --git a/src/main/java/org/elasticsearch/index/search/nested/NestedDocsFilter.java b/src/main/java/org/elasticsearch/index/search/nested/NestedDocsFilter.java deleted file mode 100644 index 6594b4cb47bd1..0000000000000 --- a/src/main/java/org/elasticsearch/index/search/nested/NestedDocsFilter.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.index.search.nested; - -import org.apache.lucene.index.LeafReaderContext; -import org.apache.lucene.index.Term; -import org.apache.lucene.search.DocIdSet; -import org.apache.lucene.search.Filter; -import org.apache.lucene.search.PrefixFilter; -import org.apache.lucene.util.Bits; -import org.apache.lucene.util.BytesRef; -import org.elasticsearch.index.mapper.internal.TypeFieldMapper; - -import java.io.IOException; - -/** - * Filter that returns all nested documents. - * A nested document is a sub documents that belong to a root document. - * Nested documents share the unique id and type and optionally the _source with root documents. - */ -public class NestedDocsFilter extends Filter { - - public static final NestedDocsFilter INSTANCE = new NestedDocsFilter(); - - private final Filter filter = nestedFilter(); - private final int hashCode = filter.hashCode(); - - private NestedDocsFilter() { - } - - @Override - public DocIdSet getDocIdSet(LeafReaderContext context, Bits acceptDocs) throws IOException { - return filter.getDocIdSet(context, acceptDocs); - } - - @Override - public int hashCode() { - return hashCode; - } - - @Override - public boolean equals(Object obj) { - return obj == INSTANCE; - } - - static Filter nestedFilter() { - return new PrefixFilter(new Term(TypeFieldMapper.NAME, new BytesRef("__"))); - } - -} \ No newline at end of file diff --git a/src/main/java/org/elasticsearch/index/search/nested/NonNestedDocsFilter.java b/src/main/java/org/elasticsearch/index/search/nested/NonNestedDocsFilter.java index 5d2bbc7973cc6..5a55513d5ba1d 100644 --- a/src/main/java/org/elasticsearch/index/search/nested/NonNestedDocsFilter.java +++ b/src/main/java/org/elasticsearch/index/search/nested/NonNestedDocsFilter.java @@ -20,22 +20,29 @@ package org.elasticsearch.index.search.nested; import org.apache.lucene.index.LeafReaderContext; +import org.apache.lucene.index.Term; import org.apache.lucene.search.DocIdSet; import org.apache.lucene.search.Filter; +import org.apache.lucene.search.PrefixFilter; import org.apache.lucene.util.Bits; +import org.apache.lucene.util.BytesRef; import org.elasticsearch.common.lucene.search.NotFilter; +import org.elasticsearch.index.mapper.internal.TypeFieldMapper; import java.io.IOException; /** * A filter that returns all root (non nested) documents. + * * Root documents have an unique id, a type and optionally have a _source and other indexed and stored fields. + * A nested document is a sub documents that belong to a root document. + * Nested documents share the unique id and type and optionally the _source with root documents. */ public class NonNestedDocsFilter extends Filter { public static final NonNestedDocsFilter INSTANCE = new NonNestedDocsFilter(); - private final Filter filter = new NotFilter(NestedDocsFilter.nestedFilter()); + private final Filter filter = new NotFilter(nestedFilter()); private final int hashCode = filter.hashCode(); private NonNestedDocsFilter() { @@ -55,4 +62,11 @@ public int hashCode() { public boolean equals(Object obj) { return obj == INSTANCE; } + + /** + * @return a filter that returns all nested documents. + */ + private static Filter nestedFilter() { + return new PrefixFilter(new Term(TypeFieldMapper.NAME, new BytesRef("__"))); + } } \ No newline at end of file