summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/resources/schema/searchchains.rnc
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /config-model/src/main/resources/schema/searchchains.rnc
Publish
Diffstat (limited to 'config-model/src/main/resources/schema/searchchains.rnc')
-rw-r--r--config-model/src/main/resources/schema/searchchains.rnc74
1 files changed, 74 insertions, 0 deletions
diff --git a/config-model/src/main/resources/schema/searchchains.rnc b/config-model/src/main/resources/schema/searchchains.rnc
new file mode 100644
index 00000000000..8b11b900557
--- /dev/null
+++ b/config-model/src/main/resources/schema/searchchains.rnc
@@ -0,0 +1,74 @@
+# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#Schema for search chains and searchers inside the searchchains section.
+
+include "federation.rnc"
+
+SearchChains =
+ element searchchains {
+ Searcher* &
+ SearchChainInQrservers* &
+ GenericConfig*
+ }
+
+# TODO: Cannot have generic config (see bug #4766780)
+OuterSearchChains =
+ element searchchains {
+ Searcher* &
+ SearchChainInQrservers* &
+ GenericConfig* # TODO: Remove when we no longer need the QRServersV2 syntax (qrs without clusters)
+ }
+
+SearchChainInQrservers =
+ element searchchain {
+ GenericSearchChainInQrservers
+ } |
+ Provider
+
+GenericSearchChainInQrservers =
+ ComponentId &
+ SearchChainInheritanceInQrservers &
+ attribute searchers { text }? &
+ Searcher* &
+ Phase* &
+ GenericConfig*
+
+SearchChainInheritanceInQrservers =
+ attribute inherits { text }? &
+ attribute excludes { text }? &
+ element inherits {
+ element searchchain { ComponentSpec }* &
+ element exclude { ComponentSpec }*
+ }?
+
+Searcher =
+ RegularSearcher |
+ FederationSearcher
+
+RegularSearcher =
+ element searcher {
+ BundleSpec &
+ GenericSearcherOrDocumentProcessor
+ }
+
+
+GenericSearcherOrDocumentProcessor =
+ ComponentId &
+ SearcherOrDocumentProcessorDependencies &
+ GenericConfig*
+
+SearcherOrDocumentProcessorDependencies =
+ Dependencies &
+ attribute provides { text }? &
+ element provides { xsd:Name }*
+
+Dependencies =
+ attribute before { text }? &
+ attribute after { text }? &
+ element before { xsd:Name }* &
+ element after { xsd:Name }*
+
+Phase =
+ element phase {
+ ComponentId &
+ Dependencies
+ }