aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/ContentSearchCluster.java10
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/querytransform/NoRankingSearcher.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/grouping/request/MinFunction.java9
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/Select.java2
-rw-r--r--container-search/src/test/java/com/yahoo/search/grouping/GroupingRequestTestCase.java4
-rw-r--r--container-search/src/test/java/com/yahoo/select/SelectTestCase.java32
-rw-r--r--linguistics/src/main/java/com/yahoo/language/process/GramSplitter.java2
-rw-r--r--linguistics/src/test/java/com/yahoo/language/process/GramSplitterTestCase.java19
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/GroupPreparer.java3
-rw-r--r--vespa-http-client/src/main/java/com/yahoo/vespa/http/client/config/SessionParams.java4
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,