SIF/1011/Platform/xconnect-solr.json

{
    "Parameters": {
        "SolrUrl": {
            "Type": "string",
            "DefaultValue": "https://localhost:8983/solr",
            "Description": "The Solr instance url."
        },
        "SolrRoot": {
            "Type": "string",
            "DefaultValue": "c:\\solr-8.4.0",
            "Description": "The file path to the Solr instance."
        },
        "SolrService": {
            "Type": "string",
            "DefaultValue": "Solr-8.4.0",
            "Description": "The name of the Solr service."
        },
        "SolrBaseConfig": {
            "Type": "string",
            "DefaultValue": "_default",
            "Description": "The configset to copy as a base for each core."
        },
        "SolrCorePrefix": {
            "Type": "string",
            "DefaultValue": "sitecore",
            "Description": "The prefix for each of the created indexes."
        },
        "Update": {
            "Type": "bool",
            "Description": "The parameter for the installing delta WDP packages.",
            "DefaultValue": false
        }
    },
    "Variables": {
        "Solr.Root": "[resolvepath(parameter('SolrRoot'))]",
        "Solr.Server": "[joinpath(variable('Solr.Root'), 'server', 'solr')]",
        "Solr.BaseConfigs": "[joinpath(variable('Solr.Server'), 'configsets', parameter('SolrBaseConfig'))]",
 
        "Solr.Core.Xdb.Name": "[concat(parameter('SolrCorePrefix'), '_xdb')]",
        "Solr.Core.XdbRebuild.Name": "[concat(variable('Solr.Core.Xdb.Name'), '_rebuild')]",
 
        "Solr.Core.Xdb.Root": "[joinpath(variable('Solr.Server'), variable('Solr.Core.Xdb.Name'))]",
        "Solr.Core.XdbRebuild.Root": "[joinpath(variable('Solr.Server'), variable('Solr.Core.XdbRebuild.Name'))]"
    },
    "Tasks": {
        "UnloadCores": {
            "Description": "Unloads existing Cores (if exists)",
            "Type": "ManageSolrCore",
            "Params": [
                {
                    "Action": "Unload",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "core": "[variable('Solr.Core.Xdb.Name')]",
                        "deleteInstanceDir": "true"
                    },
                    "ErrorAction": "SilentlyContinue"
                },
                {
                    "Action": "Unload",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "core": "[variable('Solr.Core.XdbRebuild.Name')]",
                        "deleteInstanceDir": "true"
                    },
                    "ErrorAction": "SilentlyContinue"
                }
            ],
            "Skip": "[parameter('Update')]"
        },
        "CleanCores": {
            "Description": "Creates/clears core paths.",
            "Type": "EnsurePath",
            "Params": {
                "Clean": [
                    "[variable('Solr.Core.Xdb.Root')]",
                    "[variable('Solr.Core.XdbRebuild.Root')]"
                ]
            },
            "Skip": "[parameter('Update')]"
        },
        "PrepareCores": {
            "Description": "Copies base configs into the core paths.",
            "Type": "Copy",
            "Params": [
                {
                    "Source": "[joinpath(variable('Solr.BaseConfigs'), '*')]",
                    "Destination": "[variable('Solr.Core.Xdb.Root')]"
                },
                {
                    "Source": "[joinpath(variable('Solr.BaseConfigs'), '*')]",
                    "Destination": "[variable('Solr.Core.XdbRebuild.Root')]"
                }
            ],
            "Skip": "[parameter('Update')]"
        },
        "CreateCores": {
            "Description": "Tells Solr to create the new cores.",
            "Type": "ManageSolrCore",
            "Params": [
                {
                    "Action": "Create",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "name": "[variable('Solr.Core.Xdb.Name')]",
                        "property.update.autoCreateFields": "false"
                    }
                },
                {
                    "Action": "Create",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "name": "[variable('Solr.Core.XdbRebuild.Name')]",
                        "property.update.autoCreateFields": "false"
                    }
                }
            ],
            "Skip": "[parameter('Update')]"
        }
    },
    "UninstallTasks": {
        "RemoveCores": {
            "Description": "Removes the cores and instance folders.",
            "Type": "ManageSolrCore",
            "Params": [
                {
                    "Action": "Unload",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "core": "[variable('Solr.Core.Xdb.Name')]",
                        "deleteInstanceDir": "true"
                    },
                    "ErrorAction": "SilentlyContinue"
                },
                {
                    "Action": "Unload",
                    "Address": "[parameter('SolrUrl')]",
                    "Arguments": {
                        "core": "[variable('Solr.Core.XdbRebuild.Name')]",
                        "deleteInstanceDir": "true"
                    },
                    "ErrorAction": "SilentlyContinue"
                }
            ]
        }
    }
}