diff --git a/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java b/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java index c5387cf34595d..e4f61db2df192 100644 --- a/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java +++ b/src/main/java/org/elasticsearch/index/mapper/DocumentFieldMappers.java @@ -28,7 +28,6 @@ import java.util.Collection; import java.util.Iterator; -import java.util.List; import java.util.Map; /** @@ -98,11 +97,11 @@ public FieldMapper getMapper(String field) { return fieldMappers.get(field); } - List simpleMatchToIndexNames(String pattern) { + Collection simpleMatchToIndexNames(String pattern) { return fieldMappers.simpleMatchToIndexNames(pattern); } - public List simpleMatchToFullName(String pattern) { + public Collection simpleMatchToFullName(String pattern) { return fieldMappers.simpleMatchToFullName(pattern); } diff --git a/src/main/java/org/elasticsearch/index/mapper/FieldMappersLookup.java b/src/main/java/org/elasticsearch/index/mapper/FieldMappersLookup.java index 18f71d142db68..d751c95910e3b 100644 --- a/src/main/java/org/elasticsearch/index/mapper/FieldMappersLookup.java +++ b/src/main/java/org/elasticsearch/index/mapper/FieldMappersLookup.java @@ -19,7 +19,7 @@ package org.elasticsearch.index.mapper; -import com.google.common.collect.Lists; +import com.google.common.collect.Sets; import org.elasticsearch.common.Nullable; import org.elasticsearch.common.collect.CopyOnWriteHashMap; import org.elasticsearch.common.regex.Regex; @@ -27,7 +27,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Iterator; -import java.util.List; +import java.util.Set; /** * A class that holds a map of field mappers from name, index name, and full name. @@ -114,8 +114,8 @@ public FieldMapper get(String field) { /** * Returns a list of the index names of a simple match regex like pattern against full name and index name. */ - public List simpleMatchToIndexNames(String pattern) { - List fields = Lists.newArrayList(); + public Collection simpleMatchToIndexNames(String pattern) { + Set fields = Sets.newHashSet(); for (FieldMapper fieldMapper : this) { if (Regex.simpleMatch(pattern, fieldMapper.names().fullName())) { fields.add(fieldMapper.names().indexName()); @@ -129,8 +129,8 @@ public List simpleMatchToIndexNames(String pattern) { /** * Returns a list of the full names of a simple match regex like pattern against full name and index name. */ - public List simpleMatchToFullName(String pattern) { - List fields = Lists.newArrayList(); + public Collection simpleMatchToFullName(String pattern) { + Set fields = Sets.newHashSet(); for (FieldMapper fieldMapper : this) { if (Regex.simpleMatch(pattern, fieldMapper.names().fullName())) { fields.add(fieldMapper.names().fullName()); diff --git a/src/main/java/org/elasticsearch/index/mapper/MapperService.java b/src/main/java/org/elasticsearch/index/mapper/MapperService.java index 8a6e5264f8f62..85a3aae5bd403 100755 --- a/src/main/java/org/elasticsearch/index/mapper/MapperService.java +++ b/src/main/java/org/elasticsearch/index/mapper/MapperService.java @@ -481,14 +481,14 @@ public FieldMapper fullName(String fullName) { * Returns all the fields that match the given pattern. If the pattern is prefixed with a type * then the fields will be returned with a type prefix. */ - public List simpleMatchToIndexNames(String pattern) { + public Collection simpleMatchToIndexNames(String pattern) { return simpleMatchToIndexNames(pattern, null); } /** * Returns all the fields that match the given pattern, with an optional narrowing * based on a list of types. */ - public List simpleMatchToIndexNames(String pattern, @Nullable String[] types) { + public Collection simpleMatchToIndexNames(String pattern, @Nullable String[] types) { if (Regex.isSimpleMatchPattern(pattern) == false) { // no wildcards return ImmutableList.of(pattern); diff --git a/src/main/java/org/elasticsearch/index/query/ExistsQueryParser.java b/src/main/java/org/elasticsearch/index/query/ExistsQueryParser.java index 3d049d98e7c86..fe98119380594 100644 --- a/src/main/java/org/elasticsearch/index/query/ExistsQueryParser.java +++ b/src/main/java/org/elasticsearch/index/query/ExistsQueryParser.java @@ -19,11 +19,7 @@ package org.elasticsearch.index.query; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.ConstantScoreQuery; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.TermRangeQuery; +import org.apache.lucene.search.*; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.lucene.search.Queries; import org.elasticsearch.common.xcontent.XContentParser; @@ -32,7 +28,7 @@ import org.elasticsearch.index.mapper.internal.FieldNamesFieldMapper; import java.io.IOException; -import java.util.List; +import java.util.Collection; /** * @@ -89,7 +85,7 @@ public static Query newFilter(QueryParseContext parseContext, String fieldPatter fieldPattern = fieldPattern + ".*"; } - List fields = parseContext.simpleMatchToIndexNames(fieldPattern); + Collection fields = parseContext.simpleMatchToIndexNames(fieldPattern); if (fields.isEmpty()) { // no fields exists, so we should not match anything return Queries.newMatchNoDocsQuery(); diff --git a/src/main/java/org/elasticsearch/index/query/MissingQueryParser.java b/src/main/java/org/elasticsearch/index/query/MissingQueryParser.java index 8767e0b3a5195..16596b6bdfbfd 100644 --- a/src/main/java/org/elasticsearch/index/query/MissingQueryParser.java +++ b/src/main/java/org/elasticsearch/index/query/MissingQueryParser.java @@ -19,11 +19,7 @@ package org.elasticsearch.index.query; -import org.apache.lucene.search.BooleanClause; -import org.apache.lucene.search.BooleanQuery; -import org.apache.lucene.search.ConstantScoreQuery; -import org.apache.lucene.search.Query; -import org.apache.lucene.search.TermRangeQuery; +import org.apache.lucene.search.*; import org.elasticsearch.common.inject.Inject; import org.elasticsearch.common.lucene.search.Queries; import org.elasticsearch.common.xcontent.XContentParser; @@ -32,7 +28,7 @@ import org.elasticsearch.index.mapper.internal.FieldNamesFieldMapper; import java.io.IOException; -import java.util.List; +import java.util.Collection; /** * @@ -100,7 +96,7 @@ public static Query newFilter(QueryParseContext parseContext, String fieldPatter fieldPattern = fieldPattern + ".*"; } - List fields = parseContext.simpleMatchToIndexNames(fieldPattern); + Collection fields = parseContext.simpleMatchToIndexNames(fieldPattern); if (fields.isEmpty()) { if (existence) { // if we ask for existence of fields, and we found none, then we should match on all diff --git a/src/main/java/org/elasticsearch/index/query/QueryParseContext.java b/src/main/java/org/elasticsearch/index/query/QueryParseContext.java index e3ee40c3ae522..e2be1229fa6b1 100644 --- a/src/main/java/org/elasticsearch/index/query/QueryParseContext.java +++ b/src/main/java/org/elasticsearch/index/query/QueryParseContext.java @@ -21,7 +21,6 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; - import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.queryparser.classic.MapperQueryParser; import org.apache.lucene.queryparser.classic.QueryParserSettings; @@ -38,11 +37,7 @@ import org.elasticsearch.index.Index; import org.elasticsearch.index.analysis.AnalysisService; import org.elasticsearch.index.fielddata.IndexFieldData; -import org.elasticsearch.index.mapper.ContentPath; -import org.elasticsearch.index.mapper.FieldMapper; -import org.elasticsearch.index.mapper.Mapper; -import org.elasticsearch.index.mapper.MapperBuilders; -import org.elasticsearch.index.mapper.MapperService; +import org.elasticsearch.index.mapper.*; import org.elasticsearch.index.mapper.core.StringFieldMapper; import org.elasticsearch.index.query.support.NestedScope; import org.elasticsearch.index.similarity.SimilarityService; @@ -52,12 +47,7 @@ import org.elasticsearch.search.lookup.SearchLookup; import java.io.IOException; -import java.util.Arrays; -import java.util.Collection; -import java.util.EnumSet; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @@ -281,7 +271,7 @@ public Query parseInnerFilter(String queryName) throws IOException, QueryParsing } } - public List simpleMatchToIndexNames(String pattern) { + public Collection simpleMatchToIndexNames(String pattern) { return indexQueryParser.mapperService.simpleMatchToIndexNames(pattern, getTypes()); } diff --git a/src/main/java/org/elasticsearch/search/highlight/HighlightPhase.java b/src/main/java/org/elasticsearch/search/highlight/HighlightPhase.java index f005f5be7c342..5b9ab72641a04 100644 --- a/src/main/java/org/elasticsearch/search/highlight/HighlightPhase.java +++ b/src/main/java/org/elasticsearch/search/highlight/HighlightPhase.java @@ -34,7 +34,7 @@ import org.elasticsearch.search.internal.InternalSearchHit; import org.elasticsearch.search.internal.SearchContext; -import java.util.List; +import java.util.Collection; import java.util.Map; import static com.google.common.collect.Maps.newHashMap; @@ -77,7 +77,7 @@ public boolean hitExecutionNeeded(SearchContext context) { public void hitExecute(SearchContext context, HitContext hitContext) { Map highlightFields = newHashMap(); for (SearchContextHighlight.Field field : context.highlight().fields()) { - List fieldNamesToHighlight; + Collection fieldNamesToHighlight; if (Regex.isSimpleMatchPattern(field.field())) { DocumentMapper documentMapper = context.mapperService().documentMapper(hitContext.hit().type()); fieldNamesToHighlight = documentMapper.mappers().simpleMatchToFullName(field.field()); diff --git a/src/test/java/org/elasticsearch/index/mapper/FieldMappersLookupTests.java b/src/test/java/org/elasticsearch/index/mapper/FieldMappersLookupTests.java index 1ec854c4c65ab..75c8e18fc910e 100644 --- a/src/test/java/org/elasticsearch/index/mapper/FieldMappersLookupTests.java +++ b/src/test/java/org/elasticsearch/index/mapper/FieldMappersLookupTests.java @@ -30,6 +30,7 @@ import org.elasticsearch.test.ElasticsearchTestCase; import java.io.IOException; +import java.util.Collection; import java.util.Iterator; import java.util.List; @@ -39,7 +40,7 @@ public void testEmpty() { FieldMappersLookup lookup = new FieldMappersLookup(); assertNull(lookup.fullName("foo")); assertNull(lookup.indexName("foo")); - List names = lookup.simpleMatchToFullName("foo"); + Collection names = lookup.simpleMatchToFullName("foo"); assertNotNull(names); assertTrue(names.isEmpty()); names = lookup.simpleMatchToFullName("foo"); @@ -105,7 +106,7 @@ public void testSimpleMatchIndexNames() { FakeFieldMapper f2 = new FakeFieldMapper("bar", "boo"); FieldMappersLookup lookup = new FieldMappersLookup(); lookup = lookup.copyAndAddAll(newList(f1, f2)); - List names = lookup.simpleMatchToIndexNames("b*"); + Collection names = lookup.simpleMatchToIndexNames("b*"); assertTrue(names.contains("baz")); assertTrue(names.contains("boo")); } @@ -115,7 +116,7 @@ public void testSimpleMatchFullNames() { FakeFieldMapper f2 = new FakeFieldMapper("bar", "boo"); FieldMappersLookup lookup = new FieldMappersLookup(); lookup = lookup.copyAndAddAll(newList(f1, f2)); - List names = lookup.simpleMatchToFullName("b*"); + Collection names = lookup.simpleMatchToFullName("b*"); assertTrue(names.contains("foo")); assertTrue(names.contains("bar")); } diff --git a/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java b/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java index d046a2f05ad65..0655588e35daa 100644 --- a/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java +++ b/src/test/java/org/elasticsearch/test/ElasticsearchIntegrationTest.java @@ -145,15 +145,7 @@ import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.IdentityHashMap; -import java.util.List; -import java.util.Map; -import java.util.Random; -import java.util.Set; +import java.util.*; import java.util.concurrent.Callable; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; @@ -906,7 +898,7 @@ public void run() { DocumentMapper documentMapper = indexService.mapperService().documentMapper(type); assertThat("document mapper doesn't exists on " + node, documentMapper, notNullValue()); for (String fieldName : fieldNames) { - List matches = documentMapper.mappers().simpleMatchToFullName(fieldName); + Collection matches = documentMapper.mappers().simpleMatchToFullName(fieldName); assertThat("field " + fieldName + " doesn't exists on " + node, matches, Matchers.not(emptyIterable())); } }