# Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. # Schema for federation configuration inside the searchchains section. GenericSource = SearchChainInFederation & FederationOptions? Source = element source { GenericSource } Provider = element provider { GenericSource & attribute cachesize { xsd:string { pattern = "\d+(\.\d*)?\s*[kmgKMG]?" } }? & attribute type { xsd:string }? & attribute cluster { xsd:string }? & HttpProviderSearcherOptions & Source* } HttpProviderSearcherOptions = attribute cacheweight { xsd:float { minInclusive = "0" } }? & attribute path { xsd:string }? & attribute readtimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? & attribute connectiontimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? & attribute connectionpooltimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? & attribute retries { xsd:int }? & element nodes { element node { attribute host { xsd:string } & attribute port { xsd:int } }+ } ? FederationOptions = element federationoptions { attribute optional { xsd:boolean }? & attribute timeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? & attribute requestTimeout { xsd:string { pattern = "\d+(\.\d*)?\s*m?s" } }? & attribute default { xsd:boolean }? } FederationSearcher = element federation { GenericSearcherOrDocumentProcessor & element source { ComponentSpec & FederationOptions? }* & element target-selector { ComponentDefinition }? & element source-set { attribute inherits { string "default" } }? }