aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-10-07 12:54:44 +0200
committerGitHub <noreply@github.com>2018-10-07 12:54:44 +0200
commitde3a914eb138ae8b6892e5aa7e0008c10cf667e7 (patch)
tree2407b63720681c045c084d9e5fa9636c5399734a
parent36d28c100f03ab1f5a82d3cbe6f5f8cf40a0a519 (diff)
parentdedf5f2f6cf5c4ee2b6b9e214bc445d4c4639869 (diff)
Merge pull request #7226 from vespa-engine/revert-7225-balder/limit-selection-by-documenttype
Revert "Limit document selection per cluster by the document type of the clus…"
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/cluster/ClusterSearcher.java7
-rw-r--r--container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java16
-rw-r--r--container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java21
-rw-r--r--container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VisitorFactory.java2
-rw-r--r--container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcherTestCase.java28
-rw-r--r--container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java14
6 files changed, 35 insertions, 53 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/cluster/ClusterSearcher.java b/container-search/src/main/java/com/yahoo/prelude/cluster/ClusterSearcher.java
index aa04f6ca20b..116db906755 100644
--- a/container-search/src/main/java/com/yahoo/prelude/cluster/ClusterSearcher.java
+++ b/container-search/src/main/java/com/yahoo/prelude/cluster/ClusterSearcher.java
@@ -216,16 +216,11 @@ public class ClusterSearcher extends Searcher {
CacheParams cacheParams,
LegacyEmulationConfig emulConfig,
SummaryParameters docSumParams,
- DocumentdbInfoConfig documentdbInfoConfig)
- {
- if (searchClusterConfig.searchdef().size() != 1) {
- throw new IllegalArgumentException("Search clusters in streaming search shall only contain a single searchdefinition : " + searchClusterConfig.searchdef());
- }
+ DocumentdbInfoConfig documentdbInfoConfig) {
ClusterParams clusterParams = makeClusterParams(searchclusterIndex, emulConfig, 0);
VdsStreamingSearcher searcher = (VdsStreamingSearcher) VespaBackEndSearcher
.getSearcher("com.yahoo.vespa.streamingvisitors.VdsStreamingSearcher");
searcher.setSearchClusterConfigId(searchClusterConfig.rankprofiles().configid());
- searcher.setDocumentType(searchClusterConfig.searchdef(0));
searcher.setStorageClusterRouteSpec(searchClusterConfig.storagecluster().routespec());
searcher.init(docSumParams, clusterParams, cacheParams, documentdbInfoConfig);
return searcher;
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
index a6e4ddaafbc..53c170301fc 100644
--- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
+++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcher.java
@@ -56,18 +56,14 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher {
private Route route;
/** The configId used to access the searchcluster. */
private String searchClusterConfigId = null;
- private String documentType;
/** The route to the storage cluster. */
private String storageClusterRouteSpec = null;
- private String getSearchClusterConfigId() { return searchClusterConfigId; }
- private String getStorageClusterRouteSpec() { return storageClusterRouteSpec; }
+ String getSearchClusterConfigId() { return searchClusterConfigId; }
+ String getStorageClusterRouteSpec() { return storageClusterRouteSpec; }
public final void setSearchClusterConfigId(String clusterName) {
this.searchClusterConfigId = clusterName;
}
- public final void setDocumentType(String documentType) {
- this.documentType = documentType;
- }
public final void setStorageClusterRouteSpec(String storageClusterRouteSpec) {
this.storageClusterRouteSpec = storageClusterRouteSpec;
@@ -75,8 +71,8 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher {
private static class VdsVisitorFactory implements VisitorFactory {
@Override
- public Visitor createVisitor(Query query, String searchCluster, Route route, String documentType) {
- return new VdsVisitor(query, searchCluster, route, documentType);
+ public Visitor createVisitor(Query query, String searchCluster, Route route) {
+ return new VdsVisitor(query, searchCluster, route);
}
}
@@ -131,8 +127,8 @@ public class VdsStreamingSearcher extends VespaBackEndSearcher {
"only one of these query parameters to be set: streaming.userid, streaming.groupname, " +
"streaming.selection"));
}
- query.trace("Routing to search cluster " + getSearchClusterConfigId() + " and document type " + documentType, 4);
- Visitor visitor = visitorFactory.createVisitor(query, getSearchClusterConfigId(), route, documentType);
+ query.trace("Routing to search cluster " + getSearchClusterConfigId(), 4);
+ Visitor visitor = visitorFactory.createVisitor(query, getSearchClusterConfigId(), route);
try {
visitor.doSearch();
} catch (ParseException e) {
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java
index ded59413411..27da8c0cf9b 100644
--- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java
+++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VdsVisitor.java
@@ -105,16 +105,16 @@ class VdsVisitor extends VisitorDataHandler implements Visitor {
}
}
- public VdsVisitor(Query query, String searchCluster, Route route, String documentType) {
- this(query, searchCluster, route, documentType, new MessageBusVisitorSessionFactory());
+ public VdsVisitor(Query query, String searchCluster, Route route) {
+ this.query = query;
+ visitorSessionFactory = new MessageBusVisitorSessionFactory();
+ setVisitorParameters(searchCluster, route);
}
- public VdsVisitor(Query query, String searchCluster, Route route,
- String documentType, VisitorSessionFactory visitorSessionFactory)
- {
+ public VdsVisitor(Query query, String searchCluster, Route route, VisitorSessionFactory visitorSessionFactory) {
this.query = query;
this.visitorSessionFactory = visitorSessionFactory;
- setVisitorParameters(searchCluster, route, documentType);
+ setVisitorParameters(searchCluster, route);
}
private static int inferSessionTraceLevel(Query query) {
@@ -127,14 +127,13 @@ class VdsVisitor extends VisitorDataHandler implements Visitor {
return Math.max(query.getTraceLevel(), implicitLevel);
}
- private void setVisitorParameters(String searchCluster, Route route, String documentType) {
- String limitDocumentType = documentType + " and ";
+ private void setVisitorParameters(String searchCluster, Route route) {
if (query.properties().getString(streamingUserid) != null) {
- params.setDocumentSelection(limitDocumentType + "id.user==" + query.properties().getString(streamingUserid));
+ params.setDocumentSelection("id.user==" + query.properties().getString(streamingUserid));
} else if (query.properties().getString(streamingGroupname) != null) {
- params.setDocumentSelection(limitDocumentType + "id.group==\"" + query.properties().getString(streamingGroupname) + "\"");
+ params.setDocumentSelection("id.group==\"" + query.properties().getString(streamingGroupname) + "\"");
} else if (query.properties().getString(streamingSelection) != null) {
- params.setDocumentSelection(limitDocumentType + query.properties().getString(streamingSelection));
+ params.setDocumentSelection(query.properties().getString(streamingSelection));
}
params.setTimeoutMs(query.getTimeout()); // Per bucket visitor timeout
params.setSessionTimeoutMs(query.getTimeout());
diff --git a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VisitorFactory.java b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VisitorFactory.java
index 9762d05bf45..25d4bbc689d 100644
--- a/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VisitorFactory.java
+++ b/container-search/src/main/java/com/yahoo/vespa/streamingvisitors/VisitorFactory.java
@@ -10,5 +10,5 @@ import com.yahoo.search.Query;
* @author <a href="mailto:ulf@yahoo-inc.com">Ulf Carlin</a>
*/
interface VisitorFactory {
- public Visitor createVisitor(Query query, String searchCluster, Route route, String documentType);
+ public Visitor createVisitor(Query query, String searchCluster, Route route);
}
diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcherTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcherTestCase.java
index 0d58b10fde4..c8c653d67ed 100644
--- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsStreamingSearcherTestCase.java
@@ -4,14 +4,12 @@ package com.yahoo.vespa.streamingvisitors;
import com.yahoo.config.subscription.ConfigGetter;
import com.yahoo.document.select.parser.TokenMgrException;
import com.yahoo.messagebus.routing.Route;
-import com.yahoo.prelude.fastsearch.CacheKey;
-import com.yahoo.prelude.fastsearch.CacheParams;
-import com.yahoo.prelude.fastsearch.ClusterParams;
import com.yahoo.prelude.fastsearch.DocumentdbInfoConfig;
import com.yahoo.document.select.parser.ParseException;
import com.yahoo.fs4.QueryPacket;
-import com.yahoo.prelude.fastsearch.SummaryParameters;
-import com.yahoo.prelude.fastsearch.TimeoutException;
+import com.yahoo.prelude.Ping;
+import com.yahoo.prelude.Pong;
+import com.yahoo.prelude.fastsearch.*;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
import com.yahoo.search.result.Hit;
@@ -27,11 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.*;
/**
* @author <a href="mailto:ulf@yahoo-inc.com">Ulf Carlin</a>
@@ -41,20 +35,18 @@ public class VdsStreamingSearcherTestCase {
public static final String GROUPDOC_ID_PREFIX = "groupdoc:namespace:group1:userspecific";
private static class MockVisitor implements Visitor {
- private final Query query;
- final String searchCluster;
- final Route route;
- final String documentType;
+ private Query query;
+ String searchCluster;
+ Route route;
int totalHitCount;
private final List<SearchResult.Hit> hits = new ArrayList<>();
private final Map<String, DocumentSummary.Summary> summaryMap = new HashMap<>();
private final List<Grouping> groupings = new ArrayList<>();
- MockVisitor(Query query, String searchCluster, Route route, String documentType) {
+ MockVisitor(Query query, String searchCluster, Route route) {
this.query = query;
this.searchCluster = searchCluster;
this.route = route;
- this.documentType = documentType;
}
@Override
@@ -132,8 +124,8 @@ public class VdsStreamingSearcherTestCase {
private static class MockVisitorFactory implements VisitorFactory {
@Override
- public Visitor createVisitor(Query query, String searchCluster, Route route, String documentType) {
- return new MockVisitor(query, searchCluster, route, documentType);
+ public Visitor createVisitor(Query query, String searchCluster, Route route) {
+ return new MockVisitor(query, searchCluster, route);
}
}
diff --git a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
index c84088a19bb..6964fd3b5e8 100644
--- a/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
+++ b/container-search/src/test/java/com/yahoo/vespa/streamingvisitors/VdsVisitorTestCase.java
@@ -224,15 +224,15 @@ public class VdsVisitorTestCase {
return query;
}
- private void verifyVisitorParameters(VisitorParameters params, QueryArguments qa, String searchCluster, String docType, Route route) {
+ private void verifyVisitorParameters(VisitorParameters params, QueryArguments qa, String searchCluster, Route route) {
//System.out.println("params="+params);
// Verify parameters based on properties
if (qa.userId != null) {
- assertEquals(docType + " and id.user=="+qa.userId, params.getDocumentSelection());
+ assertEquals("id.user=="+qa.userId, params.getDocumentSelection());
} else if (qa.groupName != null) {
- assertEquals(docType + " and id.group==\""+qa.groupName+"\"", params.getDocumentSelection());
+ assertEquals("id.group==\""+qa.groupName+"\"", params.getDocumentSelection());
} else if (qa.selection != null) {
- assertEquals(docType + " and " +qa.selection, params.getDocumentSelection());
+ assertEquals(qa.selection, params.getDocumentSelection());
} else {
assertEquals("", params.getDocumentSelection());
}
@@ -407,15 +407,15 @@ public class VdsVisitorTestCase {
}
private void verifyVisitorOk(MockVisitorSessionFactory factory, QueryArguments qa, Route route, String searchCluster) throws Exception {
- VdsVisitor visitor = new VdsVisitor(buildQuery(qa), searchCluster, route, "mytype", factory);
+ VdsVisitor visitor = new VdsVisitor(buildQuery(qa), searchCluster, route, factory);
visitor.doSearch();
- verifyVisitorParameters(factory.getParams(), qa, searchCluster, "mytype", route);
+ verifyVisitorParameters(factory.getParams(), qa, searchCluster, route);
supplyResults(visitor);
verifyResults(qa, visitor);
}
private void verifyVisitorFails(MockVisitorSessionFactory factory, QueryArguments qa, Route route, String searchCluster) throws Exception {
- VdsVisitor visitor = new VdsVisitor(buildQuery(qa), searchCluster, route, "mytype", factory);
+ VdsVisitor visitor = new VdsVisitor(buildQuery(qa), searchCluster, route, factory);
try {
visitor.doSearch();
assertTrue("Visitor did not fail", false);