diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-05-28 17:42:04 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-05-28 17:42:04 +0200 |
commit | 94d36333ef57d35e559c3ec0892113bd64c55e52 (patch) | |
tree | ae23cdfd55bd5d4e6e414851df46b4c6661f9a46 /container-search/src/main/java/com/yahoo/search | |
parent | 3ce5f5be747a04d41820de13eb60350346c8ad51 (diff) |
Parse before clone
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search')
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, |