summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-05-28 17:42:04 +0200
committerJon Bratseth <bratseth@oath.com>2018-05-28 17:42:04 +0200
commit94d36333ef57d35e559c3ec0892113bd64c55e52 (patch)
treeae23cdfd55bd5d4e6e414851df46b4c6661f9a46 /container-search/src/main/java/com/yahoo/search
parent3ce5f5be747a04d41820de13eb60350346c8ad51 (diff)
Parse before clone
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
-rw-r--r--container-search/src/main/java/com/yahoo/search/Query.java5
-rw-r--r--container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java1
-rw-r--r--container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java1
-rw-r--r--container-search/src/main/java/com/yahoo/search/query/rewrite/QueryRewriteSearcher.java1
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java2
5 files changed, 4 insertions, 6 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java
index f13fb2e88f4..ab6976e29d9 100644
--- a/container-search/src/main/java/com/yahoo/search/Query.java
+++ b/container-search/src/main/java/com/yahoo/search/Query.java
@@ -351,10 +351,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
}
/**
- * Creates a new query from another query, but with time sensitive
- * fields reset.
- *
- * @return new query
+ * Creates a new query from another query, but with time sensitive fields reset.
*/
public static Query createNewQuery(Query query) {
return new Query(query, System.currentTimeMillis());
diff --git a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java
index 686c019688e..b32eec876cc 100644
--- a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java
@@ -261,6 +261,7 @@ public class FederationSearcher extends ForkingSearcher {
}
private Query cloneFederationQuery(Query query, Window window, long timeout, Target target) {
+ query.getModel().getQueryTree(); // performance: parse query before cloning such that it is only done once
Query clonedQuery = Query.createNewQuery(query);
return createFederationQuery(query, clonedQuery, window, timeout, target);
}
diff --git a/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java
index 727b24a39f7..dfa4f9ad9bb 100644
--- a/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/federation/vespa/VespaSearcher.java
@@ -158,6 +158,7 @@ public class VespaSearcher extends ConfiguredHTTPProviderSearcher {
return marshalQuery(query.getModel().getQueryTree());
}
+ query.getModel().getQueryTree(); // performance: parse query before cloning such that it is only done once
Query workQuery = query.clone();
String error = QueryCanonicalizer.canonicalize(workQuery);
if (error != null) {
diff --git a/container-search/src/main/java/com/yahoo/search/query/rewrite/QueryRewriteSearcher.java b/container-search/src/main/java/com/yahoo/search/query/rewrite/QueryRewriteSearcher.java
index e10c67e5ff5..2d0ff0c62db 100644
--- a/container-search/src/main/java/com/yahoo/search/query/rewrite/QueryRewriteSearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/query/rewrite/QueryRewriteSearcher.java
@@ -295,6 +295,7 @@ public abstract class QueryRewriteSearcher extends Searcher {
// Store rewriter result
HashMap<String, Object> rewriterResult = null;
+ query.getModel().getQueryTree(); // performance: parse query before cloning such that it is only done once
Query originalQueryObj = query.clone();
try {
diff --git a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
index fe3d48ccded..cfef91ee0ec 100644
--- a/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
+++ b/container-search/src/main/java/com/yahoo/search/searchchain/model/VespaSearchers.java
@@ -23,8 +23,6 @@ import java.util.*;
public class VespaSearchers {
public static final Collection<ChainedComponentModel> vespaSearcherModels =
toSearcherModels(
- com.yahoo.prelude.querytransform.IndexCombinatorSearcher.class,
- //com.yahoo.prelude.querytransform.LocalitySearcher.class,
com.yahoo.prelude.querytransform.PhrasingSearcher.class,
com.yahoo.prelude.searcher.FieldCollapsingSearcher.class,
com.yahoo.search.yql.MinimalQueryInserter.class,