Gehel has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/382012 )
Change subject: cleanup checkstyle warnings on ...-plugin module ...................................................................... cleanup checkstyle warnings on ...-plugin module Change-Id: I8d9f4fe486aca744402f4cf9f1aee79936d40abf --- M experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefHashTermInfos.java M experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefTermWeigherCache.java M experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/ExperimentalHighlighter.java M experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/FieldWrapper.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/AbstractExperimentalHighlighterIntegrationTestBase.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/ElasticsearchQueryFlattenerTest.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/MiscellaneousTest.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/OptionsTest.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/PhraseQueryTest.java M experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/SkipTest.java 10 files changed, 119 insertions(+), 105 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/search/highlighter refs/changes/12/382012/1 diff --git a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefHashTermInfos.java b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefHashTermInfos.java index d0592d7..9d7030c 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefHashTermInfos.java +++ b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefHashTermInfos.java @@ -16,14 +16,14 @@ private final BigArrays bigArrays; private final BytesRefHash bytes; private ObjectArray<SourceInfo> infos; - + public BytesRefHashTermInfos(BigArrays bigArrays) { this.bigArrays = bigArrays; bytes = new BytesRefHash(INITIAL_CAPACITY, bigArrays); infos = bigArrays.newObjectArray(INITIAL_CAPACITY); // TODO switching from ObjectArray to something holding the floats and ints would be quickers, surely. } - + @Override public SourceInfo get(BytesRef term) { long id = bytes.find(term); diff --git a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefTermWeigherCache.java b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefTermWeigherCache.java index 1a49a67..e1a05f9 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefTermWeigherCache.java +++ b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/BytesRefTermWeigherCache.java @@ -22,7 +22,7 @@ bytes = new BytesRefHash(INITIAL_CAPACITY, bigArrays); weights = bigArrays.newFloatArray(INITIAL_CAPACITY); } - + @Override public float get(BytesRef term) { long id = bytes.find(term); @@ -44,5 +44,5 @@ } weights.set(id, weight); } - + } diff --git a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/ExperimentalHighlighter.java b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/ExperimentalHighlighter.java index a430d72..d48fee2 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/ExperimentalHighlighter.java +++ b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/ExperimentalHighlighter.java @@ -1,5 +1,17 @@ package org.wikimedia.highlighter.experimental.elasticsearch; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.regex.Pattern; + import org.apache.logging.log4j.Logger; import org.apache.lucene.search.Query; import org.apache.lucene.util.automaton.RegExp; @@ -35,17 +47,7 @@ import org.wikimedia.search.highlighter.experimental.tools.GraphvizHitEnum; import org.wikimedia.search.highlighter.experimental.tools.GraphvizSnippetFormatter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.Set; -import java.util.regex.Pattern; - +@SuppressWarnings("checkstyle:classfanoutcomplexity") // to improve if we ever touch that code again public class ExperimentalHighlighter implements Highlighter { public static final String NAME = "experimental"; private static final String CACHE_KEY = "highlight-experimental"; @@ -58,6 +60,7 @@ } @Override + @SuppressWarnings("checkstyle:IllegalCatch") public HighlightField highlight(HighlighterContext context) { try { CacheEntry entry = (CacheEntry) context.hitContext.cache().get(CACHE_KEY); @@ -80,7 +83,7 @@ static class CacheEntry { private final Map<QueryCacheKey, BasicQueryWeigher> queryWeighers = new HashMap<>(); private Map<String, AutomatonHitEnum.Factory> automatonHitEnumFactories; - private boolean lastMatched = false; + private boolean lastMatched; private int lastDocId = -1; } @@ -90,7 +93,7 @@ private final boolean phraseAsTerms; private final boolean removeHighFrequencyTermsFromCommonTerms; - public QueryCacheKey(Query query, int maxExpandedTerms, boolean phraseAsTerms, boolean removeHighFrequencyTermsFromCommonTerms) { + QueryCacheKey(Query query, int maxExpandedTerms, boolean phraseAsTerms, boolean removeHighFrequencyTermsFromCommonTerms) { this.query = query; this.maxExpandedTerms = maxExpandedTerms; this.phraseAsTerms = phraseAsTerms; @@ -99,13 +102,7 @@ @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (phraseAsTerms ? 1231 : 1237); - result = prime * result + maxExpandedTerms; - result = prime * result + (removeHighFrequencyTermsFromCommonTerms ? 1231 : 1237); - result = prime * result + ((query == null) ? 0 : query.hashCode()); - return result; + return Objects.hash(maxExpandedTerms, phraseAsTerms, removeHighFrequencyTermsFromCommonTerms, query); } @Override @@ -117,18 +114,10 @@ if (getClass() != obj.getClass()) return false; QueryCacheKey other = (QueryCacheKey) obj; - if (maxExpandedTerms != other.maxExpandedTerms) - return false; - if (phraseAsTerms != other.phraseAsTerms) - return false; - if (removeHighFrequencyTermsFromCommonTerms != other.removeHighFrequencyTermsFromCommonTerms) - return false; - if (query == null) { - if (other.query != null) - return false; - } else if (!query.equals(other.query)) - return false; - return true; + return Objects.equals(maxExpandedTerms, other.maxExpandedTerms) + && Objects.equals(phraseAsTerms, other.phraseAsTerms) + && Objects.equals(removeHighFrequencyTermsFromCommonTerms, other.removeHighFrequencyTermsFromCommonTerms) + && Objects.equals(query, other.query); } } @@ -186,7 +175,7 @@ return null; } Text fragment = new Text(getSegmenterFactory().extractNoMatchFragment(fieldValues.get(0), noMatchSize)); - return new HighlightField(context.fieldName, new Text[] { fragment }); + return new HighlightField(context.fieldName, new Text[] {fragment}); } private boolean shouldSkip() { @@ -201,6 +190,9 @@ return skipIfLastMatched != null && skipIfLastMatched && cache.lastMatched; } + @SuppressWarnings("checkstyle:IllegalCatch") + // We might be able to improve this a bit with AutoClosable magic, + // but not worth doing it unless we revisit that code. void cleanup() throws Exception { Exception lastCaught = null; try { @@ -217,6 +209,9 @@ try { extra.cleanup(); } catch (Exception e) { + if (lastCaught != null) { + e.addSuppressed(lastCaught); + } lastCaught = e; } } @@ -315,6 +310,8 @@ return hitEnums; } + @SuppressWarnings("checkstyle:ModifiedControlVariable") + // cleanup the re-assignment of `regex` if we revisit that code private List<HitEnum> buildRegexHitEnums() throws IOException { boolean luceneRegex = isLuceneRegexFlavor(); if (luceneRegex) { @@ -524,8 +521,11 @@ } else if (getOption(OPTION_RETURN_DEBUG_GRAPH, false)) { formatter = new GraphvizSnippetFormatter(defaultField.buildSourceExtracter()); } else if (getOption(OPTION_RETURN_SNIPPETS_WITH_OFFSET, false)) { - formatter = new OffsetAugmenterSnippetFormatter(new SnippetFormatter.Default(defaultField.buildSourceExtracter(), context.field.fieldOptions().preTags()[0], - context.field.fieldOptions().postTags()[0])); + formatter = new OffsetAugmenterSnippetFormatter( + new SnippetFormatter.Default( + defaultField.buildSourceExtracter(), + context.field.fieldOptions().preTags()[0], + context.field.fieldOptions().postTags()[0])); } else { formatter = new SnippetFormatter.Default(defaultField.buildSourceExtracter(), context.field.fieldOptions().preTags()[0], context.field.fieldOptions().postTags()[0]); diff --git a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/FieldWrapper.java b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/FieldWrapper.java index e0303f3..d6975d3 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/FieldWrapper.java +++ b/experimental-highlighter-elasticsearch-plugin/src/main/java/org/wikimedia/highlighter/experimental/elasticsearch/FieldWrapper.java @@ -1,5 +1,12 @@ package org.wikimedia.highlighter.experimental.elasticsearch; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.TokenStream; import org.apache.lucene.index.IndexOptions; @@ -30,13 +37,7 @@ import org.wikimedia.search.highlighter.experimental.source.NonMergingMultiSourceExtracter; import org.wikimedia.search.highlighter.experimental.source.StringSourceExtracter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - +@SuppressWarnings("checkstyle:classfanoutcomplexity") // to improve if we ever touch that code again public class FieldWrapper { private final HighlightExecutionContext executionContext; private final HighlighterContext context; diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/AbstractExperimentalHighlighterIntegrationTestBase.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/AbstractExperimentalHighlighterIntegrationTestBase.java index 7e4e3d1..06e534d 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/AbstractExperimentalHighlighterIntegrationTestBase.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/AbstractExperimentalHighlighterIntegrationTestBase.java @@ -14,16 +14,17 @@ import java.util.function.Consumer; import org.elasticsearch.action.search.SearchRequestBuilder; - -import com.google.common.collect.ImmutableList; import org.elasticsearch.common.xcontent.XContentBuilder; import org.elasticsearch.index.query.QueryBuilder; -//import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.test.ESIntegTestCase.ClusterScope; import org.wikimedia.highlighter.experimental.elasticsearch.plugin.ExperimentalHighlighterPlugin; + +import com.google.common.collect.ImmutableList; + +//import org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin; @ClusterScope(scope = ESIntegTestCase.Scope.SUITE, transportClientRatio = 0.0) public abstract class AbstractExperimentalHighlighterIntegrationTestBase extends @@ -83,7 +84,7 @@ return new Consumer<HighlightBuilder>() { @Override public void accept(HighlightBuilder hb) { - if(hb.options() == null) { + if (hb.options() == null) { hb.options(new HashMap<>()); } hb.options().putAll(options); @@ -104,7 +105,7 @@ return new Consumer<HighlightBuilder>() { @Override public void accept(HighlightBuilder hb) { - if(hb.options() == null) { + if (hb.options() == null) { hb.options(new HashMap<>()); } hb.options().put(name, value); @@ -120,7 +121,7 @@ */ protected SearchRequestBuilder testSearch(QueryBuilder builder, Consumer<HighlightBuilder> func) { HighlightBuilder hbuilder = newHLBuilder(); - if(func != null) { + if (func != null) { func.accept(hbuilder); } diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/ElasticsearchQueryFlattenerTest.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/ElasticsearchQueryFlattenerTest.java index d6a6b21..88ebfeb 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/ElasticsearchQueryFlattenerTest.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/ElasticsearchQueryFlattenerTest.java @@ -91,8 +91,8 @@ Term bar = new Term("test", "bar"); Term anoth = new Term("test", "anoth"); query.add(foo); - query.add(new Term[] { qux, quux }); - query.add(new Term[] { bar, anoth }); + query.add(new Term[] {qux, quux}); + query.add(new Term[] {bar, anoth}); Term bart = new Term("test", "bart"); Term another = new Term("test", "another"); @@ -100,15 +100,15 @@ Callback callback = mock(Callback.class); new ElasticsearchQueryFlattener(1, phraseAsTerms, true).flatten(query, ir, callback); - verify(callback).flattened(foo.bytes(), phraseAsTerms ? 1f : 0, query); - verify(callback).flattened(qux.bytes(), phraseAsTerms ? 1f : 0, query); - verify(callback).flattened(quux.bytes(), phraseAsTerms ? 1f : 0, query); - verify(callback).flattened(bart.bytes(), phraseAsTerms ? 1f : 0, query); - verify(callback).flattened(another.bytes(), phraseAsTerms ? 1f : 0, query); + verify(callback).flattened(foo.bytes(), boost(phraseAsTerms), query); + verify(callback).flattened(qux.bytes(), boost(phraseAsTerms), query); + verify(callback).flattened(quux.bytes(), boost(phraseAsTerms), query); + verify(callback).flattened(bart.bytes(), boost(phraseAsTerms), query); + verify(callback).flattened(another.bytes(), boost(phraseAsTerms), query); verify(callback, never()).flattened(eq(bar.bytes()), anyFloat(), isNull(Query.class)); verify(callback, never()).flattened(eq(anoth.bytes()), anyFloat(), isNull(Query.class)); - verify(callback).flattened(another.bytes(), phraseAsTerms ? 1f : 0, query); + verify(callback).flattened(another.bytes(), boost(phraseAsTerms), query); if (phraseAsTerms) { verify(callback, never()).startPhrase(anyInt(), anyFloat()); @@ -123,4 +123,8 @@ verify(callback).endPhrase("test", 0, 1); } } + + private float boost(boolean phraseAsTerms) { + return phraseAsTerms ? 1f : 0; + } } diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/MiscellaneousTest.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/MiscellaneousTest.java index 002d307..ea1425e 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/MiscellaneousTest.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/MiscellaneousTest.java @@ -1,32 +1,5 @@ package org.wikimedia.highlighter.experimental.elasticsearch.integration; -import com.google.common.base.Charsets; -import com.google.common.collect.ImmutableList; -import com.google.common.io.Resources; -import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeResponse; -import org.elasticsearch.action.bulk.BulkRequestBuilder; -import org.elasticsearch.action.index.IndexRequestBuilder; -import org.elasticsearch.action.search.SearchRequestBuilder; -import org.elasticsearch.action.search.SearchResponse; -import org.elasticsearch.common.StopWatch; -import org.elasticsearch.common.unit.Fuzziness; -import org.elasticsearch.common.xcontent.XContentBuilder; -import org.elasticsearch.common.xcontent.json.JsonXContent; -import org.elasticsearch.index.query.BoolQueryBuilder; -import org.elasticsearch.index.query.QueryBuilder; -import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; -import org.junit.Test; -import org.wikimedia.highlighter.experimental.elasticsearch.AbstractExperimentalHighlighterIntegrationTestBase; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Locale; -import java.util.Map; -import java.util.concurrent.ExecutionException; - import static org.elasticsearch.index.query.QueryBuilders.boolQuery; import static org.elasticsearch.index.query.QueryBuilders.fuzzyQuery; import static org.elasticsearch.index.query.QueryBuilders.idsQuery; @@ -46,6 +19,34 @@ import static org.hamcrest.Matchers.both; import static org.hamcrest.Matchers.containsString; import static org.hamcrest.Matchers.equalTo; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.ExecutionException; + +import org.elasticsearch.action.admin.indices.forcemerge.ForceMergeResponse; +import org.elasticsearch.action.bulk.BulkRequestBuilder; +import org.elasticsearch.action.index.IndexRequestBuilder; +import org.elasticsearch.action.search.SearchRequestBuilder; +import org.elasticsearch.action.search.SearchResponse; +import org.elasticsearch.common.StopWatch; +import org.elasticsearch.common.unit.Fuzziness; +import org.elasticsearch.common.xcontent.XContentBuilder; +import org.elasticsearch.common.xcontent.json.JsonXContent; +import org.elasticsearch.index.query.BoolQueryBuilder; +import org.elasticsearch.index.query.QueryBuilder; +import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; +import org.junit.Test; +import org.wikimedia.highlighter.experimental.elasticsearch.AbstractExperimentalHighlighterIntegrationTestBase; + +import com.google.common.base.Charsets; +import com.google.common.collect.ImmutableList; +import com.google.common.io.Resources; /** * Miscellaneous integration test that don't really have a good home. @@ -109,7 +110,7 @@ @Test public void multiValued() throws IOException { buildIndex(); - indexTestData(new String[] { "tests very simple test", "with two fields to test" }); + indexTestData(new String[] {"tests very simple test", "with two fields to test"}); client().prepareIndex("test", "test", "2") .setSource("test", new String[] {"no match here", "this one"}, "fetched", new Integer[] {0, 1}).get(); client().prepareIndex("test", "test", "3") @@ -230,6 +231,7 @@ * This will catch really busted automatons like you can get with allow_mutate. */ @Test + @SuppressWarnings("checkstyle:LineLength") // yes, this is a test that requires a very, very long line public void whatIsLove() throws IOException { buildIndex(); indexTestData("What-a-Mess is a series of children's books written by British comedy writer Frank Muir and illustrated by Joseph Wright. It was later made into an animated series in the UK in 1990 and again in 1995 by DIC Entertainment and aired on ABC in the United States. It aired on YTV from 1995 to 1999 in Canada. The title character is a disheveled (hence his nickname), accident-prone Afghan Hound puppy, whose real name was Prince Amir of Kinjan. Central Independent Television, the Independent Television contractor for the Midlands, created following the restructuring of ATV and commencing broadcast on 1 January 1982, Link Licensing & Bevanfield Films produced the first series and DIC Entertainment produced the second series. Both of them were narrated by Frank Muir. What-a-Mess - A scruffy Afghan puppy in which is the main character of the entire franchise. His Breed name is Prince Amir of Kinjan, and has a yellow duck sitting on top of his head. In the US animated version, the duck was coloured blue, as if his character was merged with the blue bird in the UK animated version and books, and was also given a name by What-A-Mess called Baldwin. In the US animated version, What-A-Mess is voiced by Ryan O'Donohue. What-a-Mess's Mother - Also known as The Duchess of Kinjan is a beautiful pedigree Afghan Hound mother to What-a-Mess, and is voiced by Miriam Flynn in the US version. Archbishop of Canterbury - A scruffy dark blue dog with brown patches which What-A-Mess met and befriended in What-A-Mess Goes to the Seaside. He's named this way because when What-A-Mess introduces himself with his breed name he sarcastically replies \"Sure, and I'm the Archbishop of Canterbury!\", which the naive pup takes as his actual name. His name was changed to Norton in the US Animated Version, and he was voiced by Dana Hill. The Cat Next Door - Also known as Felicia in the US animated version, is a brown Siamese Cat that loves to tease What-A-Mess at times. In the US animated version, she was coloured blue and she was voiced by Jo Ann Harris Belson. Cynthia - A Hedgehog which What-A-Mess befriended in What-A-Mess Goes to School. Her character was redesigned to become a mole named Ramona in the US animated version, due to the fact that Hedgehogs aren't native to America. In the US animated version, she is voiced by Candi Milo. Trash - Only in the US animated version, Trash is a Bull Terrier who is a real trouble maker to What-A-Mess. His real name is actually Francis He is voiced by Joe Nipote. Frank - An Old English Sheepdog that narrates the US animated version of What-A-Mess, voiced by Frank Muir himself! What-a-Mess What-a-Mess The Good What-a-Mess at the Seaside What-a-Mess Goes to School Prince What-a-Mess Super What-a-Mess What-a-Mess and the Cat Next Door What-a-Mess and the Hairy Monster Four Seasons What-a-Mess in Spring What-a-Mess in Summer What-a-Mess in Autumn What-a-Mess in Winter Four Square Meals What-a-Mess has Breakfast What-a-Mess has Lunch What-a-Mess has Tea What-a-Mess has Supper Mini Books What-a-Mess has a Brain Wave What-a-Mess and Little Poppet What-a-Mess and a trip to the Vet What-a-Mess the Beautiful What-a-Mess Goes to Town What-a-Mess Goes on Television What-a-Mess Goes Camping What-a-Mess Goes to the Seaside / 1990.03.26 What-a-Mess Goes to School / 1990.04.02 Prince What-a-Mess / 1990.04.09 Super What-a-Mess / 1990.04.16 What-a-Mess Keeps Cool / 1990.04.30 What-a-Mess and Cynthia the Hedgehog / 1990.05.14 What-a-Mess Has a Brain Wave! / 1990.05.21 What-a-Mess and the Cat Next Door / 1990.06.04 What-a-Mess and Little Poppet / 1990.06.18 What-a-Mess Goes Camping / 1990.07.02 What-a-Mess The Beautiful / 1990.07.09 What-a-Mess Goes to Town / 1990.07.16 What-a-Mess Goes to the Vet / 1990.07.23 Talkin' Trash (September 16, 1995) A Bone to Pick Midnight Snack Schoolin' Around The Legend of Junkyard Jones It's Raining Cats and Dogs Home Alone...Almost Super What-A-Mess The Recliner Afghan Holiday The Bone Tree Just Four More Left The Ropes What-A-Mess Has Breakfast Prize Puppy The Great Eascape The Scarecrow and Prince Amir Shampooed Show and Tail I Spy, I Cry, I Try What-A-Mess and the Hairy Monster Trick Or Treat My Teatime with Frank Out With the Garbage Dr. What-A-Mess Ultimate What-A-Mess This Hydrant Is Mine His Majesty, Prince What-A-Mess Trash's Wonderful Life Snowbound The Thanksgiving Turkey Santa What-A-Mess Here Comes Santa Paws All Around the Mallberry Bush What-A-Mess At the Movies His Royal Highness, Prince What-A-Mess Party at Poppet's Take Me Out to the Dog Park The Watch Out Dog Molenapped! Pound Pals Taste Test Slobber on a Stick Scout's Honor Seein' Double Luck on His Side What-A-Mess Keeps the Doctor Away There's No Business like Shoe Business Joy Rider Baldwin's Family Reunion Do the Mess Around On Vacation Messy Encounters Dog Days of Summer Fetch! Real Puppies Don't Meow Invasion of the Puppy Snatchers The Ballad of El Pero What-a-Mess Has Lunch Walking the Boy Russell Williams, Imogen (4 July 2007). \"Whatever happened to What-a-mess?\". London: The Guardian. Retrieved 3 January 2011. \"IMDB What-a-mess\". Retrieved 3 January 2011. 1990 series episode guide at the Big Cartoon DataBase"); @@ -250,7 +252,7 @@ SearchResponse response = testSearch( termQuery("test", "browser"), hitSource(hitSource) - .andThen(x -> {x.field("test", 100).order("score");}) + .andThen(x -> x.field("test", 100).order("score")) ).get(); assertHighlight(response, 0, "test", 0, equalTo("json (bug 61659) git #4d2209e " + "- [<em>Browser</em> test] Headless <em>browser</em> test(s) (bug 53691) git #6a238d2 -")); @@ -348,7 +350,7 @@ logger.info("starting {} many queried fields", name); BoolQueryBuilder many = boolQuery(); many.should(query); - for(String field: new String[] {"test.english", "test.english2", "test2", "test2.english"}) { + for (String field: new String[] {"test.english", "test.english2", "test2", "test2.english"}) { XContentBuilder builder = XContentBuilder.builder(JsonXContent.jsonXContent); query.toXContent(builder, null); many.should(wrapperQuery( @@ -409,7 +411,7 @@ Map<String, Object> options = new HashMap<String, Object>(); options.put("max_expanded_terms", 1); SearchRequestBuilder search = testSearch(boolQuery().must(rangeQuery("test").from("teso").to("tesz")).filter(idsQuery("test").addIds("1")), - x -> {x.options(options);} ); + x -> x.options(options)); for (String hitSource : HIT_SOURCES) { options.put("hit_source", hitSource); SearchResponse response = search.get(); @@ -425,7 +427,7 @@ Map<String, Object> options = new HashMap<String, Object>(); options.put("return_offsets", true); SearchResponse response = testSearch(matchQuery("test.english", "test"), - x -> x.options(options).field("test.english")).get(); + x -> x.options(options).field("test.english")).get(); assertHighlight(response, 0, "test.english", 0, equalTo("0:0-5,18-22:22")); } @@ -436,7 +438,7 @@ Map<String, Object> options = new HashMap<String, Object>(); options.put("return_snippets_and_offsets", true); SearchResponse response = testSearch(matchQuery("test.english", "test"), - x -> x.options(options).field("test.english")).get(); + x -> x.options(options).field("test.english")).get(); assertHighlight(response, 0, "test.english", 0, equalTo("0:0-5,18-22:22|<em>tests</em> very simple <em>test</em>")); } @@ -447,7 +449,7 @@ Map<String, Object> options = new HashMap<String, Object>(); options.put("return_snippets_and_offsets", true); SearchResponse response = testSearch(matchQuery("test.english", "after_empty_array"), - x -> x.options(options).field("test.english")).get(); + x -> x.options(options).field("test.english")).get(); assertHighlight(response, 0, "test.english", 0, equalTo("1:1-18:18|<em>after_empty_array</em>")); } @@ -455,10 +457,10 @@ public void returnOffsetsMultiValued() throws IOException { buildIndex(); indexTestData(ImmutableList.of("tests very simple test", "with more test")); - Map<String, Object> options = new HashMap<String, Object>(); + Map<String, Object> options = new HashMap<>(); options.put("return_offsets", true); SearchResponse response = testSearch(matchQuery("test.english", "test"), - x -> x.options(options).field("test.english")).get(); + x -> x.options(options).field("test.english")).get(); assertHighlight(response, 0, "test.english", 0, equalTo("0:0-5,18-22:22")); assertHighlight(response, 0, "test.english", 1, equalTo("23:33-37:37")); } diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/OptionsTest.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/OptionsTest.java index efd0407..af45e08 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/OptionsTest.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/OptionsTest.java @@ -16,8 +16,6 @@ import java.util.List; import java.util.concurrent.ExecutionException; -import com.google.common.collect.ImmutableMap; - import org.elasticsearch.action.index.IndexRequestBuilder; import org.elasticsearch.action.search.SearchRequestBuilder; import org.elasticsearch.action.search.SearchResponse; @@ -27,6 +25,8 @@ import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.junit.Test; import org.wikimedia.highlighter.experimental.elasticsearch.AbstractExperimentalHighlighterIntegrationTestBase; + +import com.google.common.collect.ImmutableMap; /** * Tests for the query options that don't have their own test class. @@ -403,6 +403,11 @@ } @Test + @SuppressWarnings("checkstyle:NPathComplexity") + // This test should be split if we revisit it at some time. At this point + // it tests multiple things and if the test is failing, it is not clear + // what caused the failure. That being said, it is not worth refactoring + // unless we actually have changes to make to that area of the code. public void fetchedFields() throws IOException, InterruptedException, ExecutionException { buildIndex(); @@ -415,11 +420,11 @@ client().prepareIndex("test", "test", "3") .setSource("test", new String[] {"no match here", "nobuddy"}, "fetched", new Integer[] {0}).get(); XContentBuilder nested = jsonBuilder().startObject().startArray("foo"); - for (int i = 0 ; i < 200; i++) { + for (int i = 0; i < 200; i++) { nested.startObject().field("test").value("nested" + Integer.toString(i)); if (i < 100) { nested.field("fetched").value(Integer.toString(i)); - nested.field("fetched2").value(Integer.toString(1000+i)); + nested.field("fetched2").value(Integer.toString(1000 + i)); } nested.endObject(); } diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/PhraseQueryTest.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/PhraseQueryTest.java index cc70e2a..1d93fcf 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/PhraseQueryTest.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/PhraseQueryTest.java @@ -109,7 +109,7 @@ } long total = System.currentTimeMillis() - start; // Without the optimization this runs about 7 seconds, with, about 1.8. - assertThat(total, lessThan(3000l)); + assertThat(total, lessThan(3000L)); start = System.currentTimeMillis(); for (int i = 0; i < iterations; i++) { @@ -120,7 +120,7 @@ } total = System.currentTimeMillis() - start; // Without the optimization this runs about 7 seconds, with, about 1.8. - assertThat(total, lessThan(3000l)); + assertThat(total, lessThan(3000L)); search = testSearch(qb, hitSource("analyze").andThen(field(new HighlightBuilder.Field("test2").matchedFields("test", "test2.whitespace")))); start = System.currentTimeMillis(); @@ -129,7 +129,7 @@ } total = System.currentTimeMillis() - start; // Without the optimization this runs about 7 seconds, with, about 1.8. - assertThat(total, lessThan(3000l)); + assertThat(total, lessThan(3000L)); } @Test @@ -261,7 +261,7 @@ @Test public void termAndPhraseQueryWeightsAndDifferentFields() throws IOException { buildIndex(); - indexTestData(new Object[] { "test very simple foo", "test test" }); + indexTestData(new Object[] {"test very simple foo", "test test"}); QueryBuilder qb = boolQuery().should(matchPhraseQuery("test", "simple foo")) .should(termQuery("test", "test")) .should(termQuery("fake", "test").boost(1000f)) diff --git a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/SkipTest.java b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/SkipTest.java index 87a3ae0..2fa4349 100644 --- a/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/SkipTest.java +++ b/experimental-highlighter-elasticsearch-plugin/src/test/java/org/wikimedia/highlighter/experimental/elasticsearch/integration/SkipTest.java @@ -1,7 +1,8 @@ package org.wikimedia.highlighter.experimental.elasticsearch.integration; import static org.elasticsearch.index.query.QueryBuilders.termQuery; -import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.*; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertHighlight; +import static org.elasticsearch.test.hamcrest.ElasticsearchAssertions.assertNotHighlighted; import static org.hamcrest.Matchers.equalTo; import java.io.IOException; -- To view, visit https://gerrit.wikimedia.org/r/382012 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8d9f4fe486aca744402f4cf9f1aee79936d40abf Gerrit-PatchSet: 1 Gerrit-Project: search/highlighter Gerrit-Branch: master Gerrit-Owner: Gehel <guillaume.leder...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits