aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/Ranking.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java3
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java3
-rwxr-xr-xcontainer-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java3
5 files changed, 19 insertions, 3 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
index c9e125ab55f..ecce5ddd740 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.handler;
+import ai.vespa.metrics.ContainerMetrics;
import ai.vespa.cloud.ZoneInfo;
import ai.vespa.metrics.ContainerMetrics;
import com.yahoo.collections.Tuple2;
@@ -81,7 +82,7 @@ public class SearchHandler extends LoggingRequestHandler {
private static final CompoundName FORCE_TIMESTAMPS = CompoundName.from("trace.timestamps");
/** Event name for number of connections to the search subsystem */
- private static final String SEARCH_CONNECTIONS = "search_connections";
+ private static final String SEARCH_CONNECTIONS = ContainerMetrics.SEARCH_CONNECTIONS.baseName();
static final String RENDER_LATENCY_METRIC = ContainerMetrics.JDISC_RENDER_LATENCY.baseName();
static final String MIME_DIMENSION = "mime";
static final String RENDERER_DIMENSION = "renderer";
diff --git a/container-search/src/main/java/com/yahoo/search/query/Ranking.java b/container-search/src/main/java/com/yahoo/search/query/Ranking.java
index 5426268d173..ac32bec80ef 100644
--- a/container-search/src/main/java/com/yahoo/search/query/Ranking.java
+++ b/container-search/src/main/java/com/yahoo/search/query/Ranking.java
@@ -42,6 +42,7 @@ public class Ranking implements Cloneable {
public static final String QUERYCACHE = "queryCache";
public static final String RERANKCOUNT = "rerankCount";
public static final String KEEPRANKCOUNT = "keepRankCount";
+ public static final String RANKSCOREDROPLIMIT = "rankScoreDropLimit";
public static final String MATCH_PHASE = "matchPhase";
public static final String DIVERSITY = "diversity";
public static final String SOFTTIMEOUT = "softtimeout";
@@ -63,6 +64,7 @@ public class Ranking implements Cloneable {
argumentType.addField(new FieldDescription(QUERYCACHE, "boolean"));
argumentType.addField(new FieldDescription(RERANKCOUNT, "integer"));
argumentType.addField(new FieldDescription(KEEPRANKCOUNT, "integer"));
+ argumentType.addField(new FieldDescription(RANKSCOREDROPLIMIT, "double"));
argumentType.addField(new FieldDescription(MATCH_PHASE, new QueryProfileFieldType(MatchPhase.getArgumentType()), "matchPhase"));
argumentType.addField(new FieldDescription(DIVERSITY, new QueryProfileFieldType(Diversity.getArgumentType())));
argumentType.addField(new FieldDescription(SOFTTIMEOUT, new QueryProfileFieldType(SoftTimeout.getArgumentType())));
@@ -94,6 +96,7 @@ public class Ranking implements Cloneable {
private Integer rerankCount = null;
private Integer keepRankCount = null;
+ private Double rankScoreDropLimit = null;
private RankProperties rankProperties = new RankProperties();
@@ -165,6 +168,11 @@ public class Ranking implements Cloneable {
/** Returns the keep-rank-count that will be used, or null if not set */
public Integer getKeepRankCount() { return keepRankCount; }
+ /** Sets the rank-score-drop-limit that will be used, or null if not set */
+ public void setRankScoreDropLimit(double rankScoreDropLimit) { this.rankScoreDropLimit = rankScoreDropLimit; }
+ /** Returns the rank-score-drop-limit that will be used, or null if not set */
+ public Double getRankScoreDropLimit() { return rankScoreDropLimit; }
+
/** Returns the location of this query, or null if none */
public Location getLocation() { return location; }
@@ -241,6 +249,8 @@ public class Ranking implements Cloneable {
rankProperties.put("vespa.hitcollector.heapsize", rerankCount);
if (keepRankCount != null)
rankProperties.put("vespa.hitcollector.arraysize", keepRankCount);
+ if (rankScoreDropLimit != null)
+ rankProperties.put("vespa.hitcollector.rankscoredroplimit", rankScoreDropLimit);
}
private void prepareNow(Freshness freshness) {
diff --git a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java
index da0051c527c..240da3f123f 100644
--- a/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java
+++ b/container-search/src/main/java/com/yahoo/search/query/properties/QueryProperties.java
@@ -77,6 +77,7 @@ public class QueryProperties extends Properties {
if (key.last().equals(Ranking.QUERYCACHE)) return ranking.getQueryCache();
if (key.last().equals(Ranking.RERANKCOUNT)) return ranking.getRerankCount();
if (key.last().equals(Ranking.KEEPRANKCOUNT)) return ranking.getKeepRankCount();
+ if (key.last().equals(Ranking.RANKSCOREDROPLIMIT)) return ranking.getRankScoreDropLimit();
if (key.last().equals(Ranking.LIST_FEATURES)) return ranking.getListFeatures();
}
else if (key.size() >= 3 && key.get(1).equals(Ranking.MATCH_PHASE)) {
@@ -203,6 +204,8 @@ public class QueryProperties extends Properties {
ranking.setRerankCount(asInteger(value, null));
else if (key.last().equals(Ranking.KEEPRANKCOUNT))
ranking.setKeepRankCount(asInteger(value, null));
+ else if (key.last().equals(Ranking.RANKSCOREDROPLIMIT))
+ ranking.setRankScoreDropLimit(asDouble(value, null));
else if (key.last().equals(Ranking.LIST_FEATURES))
ranking.setListFeatures(asBoolean(value,false));
else
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java
index 742f4b0f889..f510d68d32e 100644
--- a/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/searchers/ContainerLatencySearcher.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.searchers;
+import ai.vespa.metrics.ContainerMetrics;
import com.yahoo.component.chain.dependencies.After;
import com.yahoo.metrics.simple.Gauge;
import com.yahoo.metrics.simple.Point;
@@ -21,7 +22,7 @@ public class ContainerLatencySearcher extends Searcher {
private final Gauge latencyGauge;
public ContainerLatencySearcher(MetricReceiver metrics) {
- latencyGauge = metrics.declareGauge("query_container_latency");
+ latencyGauge = metrics.declareGauge(ContainerMetrics.QUERY_CONTAINER_LATENCY.baseName());
}
@Override
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java
index 35a3c86f763..846b8881cef 100755
--- a/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/searchers/RateLimitingSearcher.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.searchers;
+import ai.vespa.metrics.ContainerMetrics;
import com.yahoo.component.annotation.Inject;
import com.yahoo.cloud.config.ClusterInfoConfig;
@@ -60,7 +61,7 @@ public class RateLimitingSearcher extends Searcher {
public static final CompoundName idDimensionKey = CompoundName.from("rate.idDimension");
public static final CompoundName dryRunKey = CompoundName.from("rate.dryRun");
- private static final String requestsOverQuotaMetricName = "requestsOverQuota";
+ private static final String requestsOverQuotaMetricName = ContainerMetrics.REQUESTS_OVER_QUOTA.baseName();
/** Used to divide quota by nodes. Assumption: All nodes get the same share of traffic. */
private final int nodeCount;