summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java7
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java6
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java2
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java2
-rwxr-xr-xconfig-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java11
-rw-r--r--config-model/src/test/derived/advanced/attributes.cfg2
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/attributes.cfg2
-rw-r--r--config-model/src/test/derived/map_attribute/attributes.cfg2
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/attributes.cfg4
-rw-r--r--config-model/src/test/derived/multiplesummaries/attributes.cfg2
-rw-r--r--config-model/src/test/derived/types/attributes.cfg2
-rw-r--r--config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java13
-rw-r--r--config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java2
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java2
-rw-r--r--config-model/src/test/schema-test-files/services.xml1
18 files changed, 30 insertions, 42 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index b7b54e749f9..f8dafd1082e 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -77,7 +77,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private boolean persistenceThrottlingOfMergeFeedOps = true;
private boolean useV8GeoPositions = true;
private List<String> environmentVariables = List.of();
- private boolean enableBitVectors = false;
private boolean loadCodeAsHugePages = false;
private boolean sharedStringRepoNoReclaim = false;
private boolean useTwoPhaseDocumentGc = false;
@@ -141,7 +140,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean persistenceThrottlingOfMergeFeedOps() { return persistenceThrottlingOfMergeFeedOps; }
@Override public boolean useV8GeoPositions() { return useV8GeoPositions; }
@Override public List<String> environmentVariables() { return environmentVariables; }
- @Override public boolean enableBitVectors() { return this.enableBitVectors; }
@Override public Architecture adminClusterArchitecture() { return adminClusterNodeResourcesArchitecture; }
@Override public boolean sharedStringRepoNoReclaim() { return sharedStringRepoNoReclaim; }
@Override public boolean loadCodeAsHugePages() { return loadCodeAsHugePages; }
@@ -385,11 +383,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties setEnableBitVectors(boolean value) {
- this.enableBitVectors = value;
- return this;
- }
-
public TestProperties setMbusNetworkThreads(int value) {
this.mbus_network_threads = value;
return this;
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
index 505778ad047..567bd564eb5 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/AttributeFields.java
@@ -183,7 +183,7 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce
@Override
public void getConfig(AttributesConfig.Builder builder) {
//TODO This is just to get some exporting tests to work, Should be undone and removed
- getConfig(builder, FieldSet.ALL, 77777, false);
+ getConfig(builder, FieldSet.ALL, 77777);
}
private boolean isAttributeInFieldSet(Attribute attribute, FieldSet fs) {
@@ -277,12 +277,12 @@ public class AttributeFields extends Derived implements AttributesConfig.Produce
};
}
- public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory, boolean enableBitVectors) {
+ public void getConfig(AttributesConfig.Builder builder, FieldSet fs, long maxUnCommittedMemory) {
for (Attribute attribute : attributes.values()) {
if (isAttributeInFieldSet(attribute, fs)) {
AttributesConfig.Attribute.Builder attrBuilder = getConfig(attribute.getName(), attribute, false);
attrBuilder.maxuncommittedmemory(maxUnCommittedMemory);
- if (enableBitVectors && attribute.isFastSearch()) {
+ if (attribute.isFastSearch()) {
attrBuilder.enablebitvectors(true);
}
builder.attribute(attrBuilder);
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
index c6a5873a848..11bd14cbe46 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/DerivedConfiguration.java
@@ -40,7 +40,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
private ImportedFields importedFields;
private final QueryProfileRegistry queryProfiles;
private final long maxUncommittedMemory;
- private final boolean enableBitVectors;
/**
* Creates a complete derived configuration from a search definition.
@@ -71,7 +70,6 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
this.schema = schema;
this.queryProfiles = deployState.getQueryProfiles().getRegistry();
this.maxUncommittedMemory = deployState.getProperties().featureFlags().maxUnCommittedMemory();
- this.enableBitVectors = deployState.getProperties().featureFlags().enableBitVectors();
if ( ! schema.isDocumentsOnly()) {
streamingFields = new VsmFields(schema);
streamingSummary = new VsmSummary(schema);
@@ -157,7 +155,7 @@ public class DerivedConfiguration implements AttributesConfig.Producer {
}
public void getConfig(AttributesConfig.Builder builder, AttributeFields.FieldSet fs) {
- attributeFields.getConfig(builder, fs, maxUncommittedMemory, enableBitVectors);
+ attributeFields.getConfig(builder, fs, maxUncommittedMemory);
}
public IndexingScript getIndexingScript() {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
index c50b9b7f842..e9b6480f60d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/LogserverContainerCluster.java
@@ -17,7 +17,7 @@ import java.util.Optional;
public class LogserverContainerCluster extends ContainerCluster<LogserverContainer> {
public LogserverContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
- super(parent, name, name, deployState, true, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, name, name, deployState, true);
addDefaultHandlersWithVip();
addLogHandler();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
index f7007fec181..2f9a9df10e2 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainerCluster.java
@@ -28,7 +28,7 @@ public class ClusterControllerContainerCluster extends ContainerCluster<ClusterC
public ClusterControllerContainerCluster(
AbstractConfigProducer<?> parent, String subId, String name, DeployState deployState) {
- super(parent, subId, name, deployState, false, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, subId, name, deployState, false);
addDefaultHandlersWithVip();
this.reindexingContext = createReindexingContext(deployState);
setJvmGCOptions(deployState.getProperties().jvmGCOptions(Optional.of(ClusterSpec.Type.admin)));
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
index 17f169033d3..f7d9c2f4a0d 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java
@@ -96,7 +96,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC
private final ApplicationId applicationId;
public MetricsProxyContainerCluster(AbstractConfigProducer<?> parent, String name, DeployState deployState) {
- super(parent, name, name, deployState, true, deployState.featureFlags().defaultPoolNumThreads());
+ super(parent, name, name, deployState, true);
this.parent = parent;
applicationId = deployState.getProperties().applicationId();
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
index d58d1f4ae5d..560703b6b26 100755
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java
@@ -148,7 +148,6 @@ public abstract class ContainerCluster<CONTAINER extends Container>
private final ComponentGroup<Component<?, ?>> componentGroup;
private final boolean isHostedVespa;
private final boolean zooKeeperLocalhostAffinity;
- private final int numAvailableProcessors;
private final String compressionType;
private final Map<String, String> concreteDocumentTypes = new LinkedHashMap<>();
@@ -163,13 +162,15 @@ public abstract class ContainerCluster<CONTAINER extends Container>
private boolean deferChangesUntilRestart = false;
+ public ContainerCluster(AbstractConfigProducer<?> parent, String configSubId, String clusterId, DeployState deployState, boolean zooKeeperLocalhostAffinity) {
+ this(parent, configSubId, clusterId, deployState, zooKeeperLocalhostAffinity, 1);
+ }
public ContainerCluster(AbstractConfigProducer<?> parent, String configSubId, String clusterId, DeployState deployState, boolean zooKeeperLocalhostAffinity, int defaultPoolNumThreads) {
super(parent, configSubId);
this.name = clusterId;
this.isHostedVespa = stateIsHosted(deployState);
this.zone = (deployState != null) ? deployState.zone() : Zone.defaultZone();
this.zooKeeperLocalhostAffinity = zooKeeperLocalhostAffinity;
- this.numAvailableProcessors = deployState.featureFlags().availableProcessors();
this.compressionType = deployState.featureFlags().logFileCompressionAlgorithm("zstd");
componentGroup = new ComponentGroup<>(this, "component");
@@ -359,10 +360,6 @@ public abstract class ContainerCluster<CONTAINER extends Container>
this.containerDocproc = containerDocproc;
}
- public ContainerDocumentApi getDocumentApi() {
- return containerDocumentApi;
- }
-
public void setDocumentApi(ContainerDocumentApi containerDocumentApi) {
this.containerDocumentApi = containerDocumentApi;
}
@@ -514,7 +511,7 @@ public abstract class ContainerCluster<CONTAINER extends Container>
public void getConfig(QrStartConfig.Builder builder) {
builder.jvm
.verbosegc(false)
- .availableProcessors(numAvailableProcessors)
+ .availableProcessors(1)
.compressedClassSpaceSize(32)
.minHeapsize(32)
.heapsize(256)
diff --git a/config-model/src/test/derived/advanced/attributes.cfg b/config-model/src/test/derived/advanced/attributes.cfg
index 5ebd25b7678..0b4e28f0cbf 100644
--- a/config-model/src/test/derived/advanced/attributes.cfg
+++ b/config-model/src/test/derived/advanced/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
index 75e892fda7c..e24ed687b93 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/map_attribute/attributes.cfg b/config-model/src/test/derived/map_attribute/attributes.cfg
index 2b62418480b..0cfcc75d3b3 100644
--- a/config-model/src/test/derived/map_attribute/attributes.cfg
+++ b/config-model/src/test/derived/map_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
index 216967a93dc..7e6f7c282db 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/attributes.cfg
@@ -13,7 +13,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
@@ -133,7 +133,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/multiplesummaries/attributes.cfg b/config-model/src/test/derived/multiplesummaries/attributes.cfg
index bb323041c0a..448c1f4957a 100644
--- a/config-model/src/test/derived/multiplesummaries/attributes.cfg
+++ b/config-model/src/test/derived/multiplesummaries/attributes.cfg
@@ -133,7 +133,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/derived/types/attributes.cfg b/config-model/src/test/derived/types/attributes.cfg
index fbef851b4af..f7cfbc5216c 100644
--- a/config-model/src/test/derived/types/attributes.cfg
+++ b/config-model/src/test/derived/types/attributes.cfg
@@ -313,7 +313,7 @@ attribute[].sortascending true
attribute[].sortfunction UCA
attribute[].sortstrength PRIMARY
attribute[].sortlocale ""
-attribute[].enablebitvectors false
+attribute[].enablebitvectors true
attribute[].enableonlybitvector false
attribute[].fastaccess false
attribute[].arity 8
diff --git a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
index 54fb6b0fb52..eb9daf02aad 100644
--- a/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/AttributeSettingsTestCase.java
@@ -216,7 +216,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
void requireThatMutableConfigIsProperlyPropagated() throws ParseException {
AttributeFields attributes = new AttributeFields(getSearchWithMutables());
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
assertFalse(cfg.attribute().get(0).ismutable());
@@ -232,7 +232,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
void requireMaxUnCommittedMemoryIsProperlyPropagated() throws ParseException {
AttributeFields attributes = new AttributeFields(getSearchWithMutables());
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
assertEquals(13333, cfg.attribute().get(0).maxuncommittedmemory());
@@ -244,13 +244,13 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
assertEquals(13333, cfg.attribute().get(2).maxuncommittedmemory());
}
- private void verifyEnableBitVectorDefault(Schema schema, boolean enableBitVectors) {
+ private void verifyEnableBitVectorDefault(Schema schema) {
AttributeFields attributes = new AttributeFields(schema);
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333, enableBitVectors);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 13333);
AttributesConfig cfg = builder.build();
assertEquals("a", cfg.attribute().get(0).name());
- assertEquals(enableBitVectors, cfg.attribute().get(0).enablebitvectors());
+ assertTrue(cfg.attribute().get(0).enablebitvectors());
assertEquals("b", cfg.attribute().get(1).name());
assertFalse(cfg.attribute().get(1).enablebitvectors());
@@ -270,8 +270,7 @@ public class AttributeSettingsTestCase extends AbstractSchemaTestCase {
" }\n" +
" }\n" +
"}\n");
- verifyEnableBitVectorDefault(schema, false);
- verifyEnableBitVectorDefault(schema, true);
+ verifyEnableBitVectorDefault(schema);
}
@Test
diff --git a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
index ef1716c80e6..6277b0041df 100644
--- a/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/processing/DictionaryTestCase.java
@@ -24,7 +24,7 @@ public class DictionaryTestCase {
private static AttributesConfig getConfig(Schema schema) {
AttributeFields attributes = new AttributeFields(schema);
AttributesConfig.Builder builder = new AttributesConfig.Builder();
- attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000, true);
+ attributes.getConfig(builder, AttributeFields.FieldSet.ALL, 130000);
return builder.build();
}
private Schema createSearch(String def) throws ParseException {
@@ -210,7 +210,7 @@ public class DictionaryTestCase {
" }",
"}");
try {
- ApplicationBuilder sb = ApplicationBuilder.createFromString(def);
+ ApplicationBuilder.createFromString(def);
fail("Controlling dictionary for non-numeric fields are not yet supported.");
} catch (IllegalArgumentException e) {
assertEquals("For schema 'test', field 'n1': You can only specify 'dictionary:' for numeric or string fields", e.getMessage());
@@ -229,7 +229,7 @@ public class DictionaryTestCase {
" }",
"}");
try {
- ApplicationBuilder sb = ApplicationBuilder.createFromString(def);
+ ApplicationBuilder.createFromString(def);
fail("Controlling dictionary for non-fast-search fields are not allowed.");
} catch (IllegalArgumentException e) {
assertEquals("For schema 'test', field 'n1': You must specify 'attribute:fast-search' to allow dictionary control", e.getMessage());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
index 0cb97681f13..376cf49c396 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
@@ -406,7 +406,7 @@ public class ClusterControllerTestCase extends DomBuilderTest {
assertEquals(32, qrStartConfig.jvm().minHeapsize());
assertEquals(128, qrStartConfig.jvm().heapsize());
assertEquals(0, qrStartConfig.jvm().heapSizeAsPercentageOfPhysicalMemory());
- assertEquals(2, qrStartConfig.jvm().availableProcessors());
+ assertEquals(1, qrStartConfig.jvm().availableProcessors());
assertFalse(qrStartConfig.jvm().verbosegc());
assertEquals("-XX:+UseG1GC -XX:MaxTenuringThreshold=15", qrStartConfig.jvm().gcopts());
assertEquals(512, qrStartConfig.jvm().stacksize());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
index dbc7d475c27..cc6b84de698 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/ContainerClusterTest.java
@@ -187,7 +187,7 @@ public class ContainerClusterTest {
root.freezeModelTopology();
ThreadpoolConfig threadpoolConfig = root.getConfig(ThreadpoolConfig.class, "container0/component/default-threadpool");
- assertEquals(2, threadpoolConfig.maxthreads());
+ assertEquals(1, threadpoolConfig.maxthreads());
assertEquals(50, threadpoolConfig.queueSize());
}
diff --git a/config-model/src/test/schema-test-files/services.xml b/config-model/src/test/schema-test-files/services.xml
index b32849bb55f..543f76ca136 100644
--- a/config-model/src/test/schema-test-files/services.xml
+++ b/config-model/src/test/schema-test-files/services.xml
@@ -141,6 +141,7 @@
</document-api>
<search>
+ <binding>http://*/mysearch/</binding>
<searcher id='outer-searcher' />
<chain id='common'>
<searcher id='outer-searcher' />