diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-02-03 14:36:16 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-02-03 14:36:16 +0100 |
commit | d9f82731cb7c47162e7a93b6cb6c1990cbb879fb (patch) | |
tree | 574c75377824d86c2e26efcb69a788fa34d89581 | |
parent | 2319ebb2fbbc87ac54448ec6a433a0f99aab940c (diff) |
No functional changes
10 files changed, 71 insertions, 17 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java index d7df62d56cf..7ce72b138c1 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java @@ -189,7 +189,7 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> } } - private ContentSearchCluster(AbstractConfigProducer parent, + private ContentSearchCluster(AbstractConfigProducer<?> parent, String clusterName, ModelContext.FeatureFlags featureFlags, Map<String, NewDocumentType> documentDefinitions, @@ -232,8 +232,8 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> NamedSchema searchDefinition = schemaDefinitionXMLHandler.getResponsibleSearchDefinition(deployState.getSchemas()); if (searchDefinition == null) - throw new RuntimeException("Search definition parsing error or file does not exist: '" + - schemaDefinitionXMLHandler.getName() + "'"); + throw new RuntimeException("Schema '" + schemaDefinitionXMLHandler.getName() + "' referenced in " + + this + " does not exist"); // TODO: remove explicit building of user configs when the complete content model is built using builders. sc.getLocalSDS().add(new AbstractSearchCluster.SchemaSpec(searchDefinition, @@ -444,4 +444,8 @@ public class ContentSearchCluster extends AbstractConfigProducer<SearchCluster> public IndexedSearchCluster getIndexed() { return indexedCluster; } public boolean hasIndexedCluster() { return indexedCluster != null; } public String getClusterName() { return clusterName; } + + @Override + public String toString() { return "content cluster '" + clusterName + "'"; } + } diff --git a/container-search/src/main/java/com/yahoo/prelude/querytransform/NoRankingSearcher.java b/container-search/src/main/java/com/yahoo/prelude/querytransform/NoRankingSearcher.java index 7456f33d00f..30074f0306d 100644 --- a/container-search/src/main/java/com/yahoo/prelude/querytransform/NoRankingSearcher.java +++ b/container-search/src/main/java/com/yahoo/prelude/querytransform/NoRankingSearcher.java @@ -12,8 +12,7 @@ import com.yahoo.search.query.Sorting.FieldOrder; import com.yahoo.search.searchchain.Execution; /** - * Avoid doing relevance calculations if sorting only - * on attributes. + * Avoid doing relevance calculations if sorting only on attributes. * * @author Steinar Knutsen */ diff --git a/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java b/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java index 40fbda5a98a..5a39612b200 100644 --- a/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java +++ b/container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java @@ -1,12 +1,11 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.grouping.request; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** - * This class represents a min-function in a {@link GroupingExpression}. It evaluates to a number that equals the + * A min-function in a {@link GroupingExpression}. It evaluates to a number that equals the * smallest of the results of all arguments. * * @author Simon Thoresen Hult @@ -16,9 +15,9 @@ public class MinFunction extends FunctionNode { /** * Constructs a new instance of this class. * - * @param arg1 The first compulsory argument, must evaluate to a number. - * @param arg2 The second compulsory argument, must evaluate to a number. - * @param argN The optional arguments, must evaluate to a number. + * @param arg1 the first compulsory argument, must evaluate to a number + * @param arg2 the second compulsory argument, must evaluate to a number + * @param argN the optional arguments, must evaluate to a number */ public MinFunction(GroupingExpression arg1, GroupingExpression arg2, GroupingExpression... argN) { this(null, null, asList(arg1, arg2, argN)); diff --git a/container-search/src/main/java/com/yahoo/search/query/Select.java b/container-search/src/main/java/com/yahoo/search/query/Select.java index 65ffd29efe0..53628978db3 100644 --- a/container-search/src/main/java/com/yahoo/search/query/Select.java +++ b/container-search/src/main/java/com/yahoo/search/query/Select.java @@ -132,7 +132,7 @@ public class Select implements Cloneable { @Override public String toString() { - return "where: [" + where + "], grouping: [" + grouping+ "]"; + return "where: [" + where + "], grouping: [" + grouping + "]"; } @Override diff --git a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java index 244d45f1b29..fb08b39de4d 100644 --- a/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java @@ -124,10 +124,10 @@ public class GroupingRequestTestCase { assertEquals(Collections.emptyList(), query.getSelect().getGrouping()); GroupingRequest foo = GroupingRequest.newInstance(query); - assertEquals(Arrays.asList(foo), query.getSelect().getGrouping()); + assertEquals(List.of(foo), query.getSelect().getGrouping()); GroupingRequest bar = GroupingRequest.newInstance(query); - assertEquals(Arrays.asList(foo, bar), query.getSelect().getGrouping()); + assertEquals(List.of(foo, bar), query.getSelect().getGrouping()); } diff --git a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java index 9bcd3addd92..1ce70feebb4 100644 --- a/container-search/src/test/java/com/yahoo/select/SelectTestCase.java +++ b/container-search/src/test/java/com/yahoo/select/SelectTestCase.java @@ -20,6 +20,12 @@ import com.yahoo.prelude.query.WordItem; import com.yahoo.processing.IllegalInputException; import com.yahoo.search.Query; import com.yahoo.search.grouping.GroupingRequest; +import com.yahoo.search.grouping.request.AllOperation; +import com.yahoo.search.grouping.request.AttributeValue; +import com.yahoo.search.grouping.request.CountAggregator; +import com.yahoo.search.grouping.request.EachOperation; +import com.yahoo.search.grouping.request.MaxAggregator; +import com.yahoo.search.grouping.request.MinAggregator; import com.yahoo.search.query.QueryTree; import com.yahoo.search.query.Select; import com.yahoo.search.query.SelectParser; @@ -768,6 +774,32 @@ public class SelectTestCase { assertEquals(clone.getSelect().getGroupingExpressionString(), query.getSelect().getGroupingExpressionString()); } + @Test + public void testProgrammaticBuilding() { + String expected = + "all(group(myfield) max(10000) each(" + + "output(min(foo), max(bar)) " + + "all(group(foo) max(10000) output(count()))" + + "))"; + Query query = new Query(); + GroupingRequest grouping = GroupingRequest.newInstance(query); + AllOperation root = new AllOperation(); + root.setGroupBy(new AttributeValue("myfield")); + root.setMax(10000); + EachOperation each = new EachOperation(); + each.addOutput(new MinAggregator(new AttributeValue("foo"))); + each.addOutput(new MaxAggregator(new AttributeValue("bar"))); + AllOperation all = new AllOperation(); + all.setGroupBy(new AttributeValue("foo")); + all.setMax(10000); + all.addOutput(new CountAggregator()); + each.addChild(all); + root.addChild(each); + grouping.setRootOperation(root); + + assertEquals(expected, query.getSelect().getGrouping().get(0).toString()); + } + //------------------------------------------------------------------- Assert methods private void assertParse(String where, String expectedQueryTree) { diff --git a/linguistics/src/main/java/com/yahoo/language/process/GramSplitter.java b/linguistics/src/main/java/com/yahoo/language/process/GramSplitter.java index 8a255dd5370..c5ce3278d72 100644 --- a/linguistics/src/main/java/com/yahoo/language/process/GramSplitter.java +++ b/linguistics/src/main/java/com/yahoo/language/process/GramSplitter.java @@ -153,7 +153,7 @@ public class GramSplitter { */ public static final class Gram { - private int start, codePointCount; + private final int start, codePointCount; public Gram(int start, int codePointCount) { this.start = start; diff --git a/linguistics/src/test/java/com/yahoo/language/process/GramSplitterTestCase.java b/linguistics/src/test/java/com/yahoo/language/process/GramSplitterTestCase.java index 8fa23626193..a37ef6bfde5 100644 --- a/linguistics/src/test/java/com/yahoo/language/process/GramSplitterTestCase.java +++ b/linguistics/src/test/java/com/yahoo/language/process/GramSplitterTestCase.java @@ -167,6 +167,25 @@ public class GramSplitterTestCase { assertFalse(grams.hasNext()); } + @Test + public void testChineseComma() { + String text = "我喜欢红色、蓝色和紫色"; + Iterator<GramSplitter.Gram> grams = gramSplitter.split(text, 2); + for (; grams.hasNext(); ) { + System.out.println(grams.next().extractFrom(text)); + } + } + + @Test + public void testEnglishComma() { + String text = "我喜欢红色,蓝色和紫色"; + Iterator<GramSplitter.Gram> grams = gramSplitter.split(text, 2); + for (; grams.hasNext(); ) { + System.out.println(grams.next().extractFrom(text)); + } + } + + private void assertGramSplits(String input, int gramSize, String ... expected) { assertEquals(Arrays.asList(expected), gramSplitter.split(input, gramSize).toExtractedList()); } diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java index 53ba73e4d82..d9ca0100402 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java @@ -85,7 +85,8 @@ public class GroupPreparer { Mutex allocationLock = nodeRepository.lockUnallocated()) { NodeAllocation allocation = prepareAllocation(application, cluster, requestedNodes, surplusActiveNodes, - highestIndex, wantedGroups, allocationLock, allocateOsRequirement); + highestIndex, wantedGroups, allocationLock, + allocateOsRequirement); if (nodeRepository.zone().getCloud().dynamicProvisioning()) { final Version osVersion; diff --git a/vespa-http-client/src/main/java/com/yahoo/vespa/http/client/config/SessionParams.java b/vespa-http-client/src/main/java/com/yahoo/vespa/http/client/config/SessionParams.java index bf07e3ea634..218727be221 100644 --- a/vespa-http-client/src/main/java/com/yahoo/vespa/http/client/config/SessionParams.java +++ b/vespa-http-client/src/main/java/com/yahoo/vespa/http/client/config/SessionParams.java @@ -21,7 +21,7 @@ public final class SessionParams { /** * Interface for handling serious errors with connection. */ - public interface ErrorReporter { + public interface ErrorReporter { void onSessionError(Endpoint endpoint, String oldSessionID, String newSessionId); } @@ -139,7 +139,7 @@ public final class SessionParams { private final ConnectionParams connectionParams; private final int clientQueueSize; private final ErrorReporter errorReport; - private int throttlerMinSize; + private final int throttlerMinSize; private SessionParams(Collection<Cluster> clusters, FeedParams feedParams, |