deployment.xml reference

 

Applies to: FAST Search Server 2010

Use the deployment.xml file to outline the topology of your Microsoft FAST Search Server 2010 for SharePoint installation. The file describes all the servers in your FAST Search Server 2010 for SharePoint deployment and the distribution of services. Single server installations have a default deployment.xml file which may be modified.

This section specifies the deployment.xml file format. This file contains detailed structure information that specifies how FAST Search Server 2010 for SharePoint is distributed over multiple servers. One or more services will run on each node in the FAST Search Server 2010 for SharePoint application.

You can find example deployment.xml templates under <FASTSearchFolder>\etc\, where <FASTSearchFolder> is the path of the folder where you have installed FAST Search Server 2010 for SharePoint, for example C:\FASTSearch.

The purpose of deployment.xml is to enable central control over FAST Search Server 2010 for SharePoint servers and services in an installation. You can reconfigure FAST Search Server 2010 for SharePoint by adding or removing servers or services in the deployment.xml file. See Reconfigure the farm deployment (FAST Search Server 2010 for SharePoint).

The deployment.xml file must be created and modified on the FAST Search Server 2010 for SharePoint administration server only.

Note

To modify a configuration file, verify that you meet the following minimum requirements: You are a member of the FASTSearchAdministrators local group on the computer where FAST Search Server 2010 for SharePoint is installed.

Element quick reference

The following table lists the elements in deployment.xml. These elements can appear in any order.

Element Description

<deployment>

Top level element describing the complete installation

<instanceid>

The unique name of the FAST Search Server 2010 for SharePoint instance. Used by SCOM.

<connector-databaseconnectionstring>

The JDBC URL used by indexing connectors for configuration data. Used by the FAST Search database connector and the FAST Search Lotus Notes connector.

<host>

Each server in the FAST Search Server 2010 for SharePoint deployment is defined within the host tag. Each host (server) holds a set of elements determining the components that will run on the server.

<searchcluster>

Defines the multiple server configuration for query matching and indexer nodes (search cluster). Describes which parts of the installation will serve queries and perform indexing. It also specifies if fault tolerance is enabled.

<admin>

Part of the host element. Specifies if a host (server) will have the administration component.

<document-processor>

Part of the host element. Specifies if a host (server) will have item processing components.

<content-distributor>

Part of the host element. Specifies if a host (server) will have the content distributor component.

<indexing-dispatcher>

Part of the host element. Specifies if a host (server) will have the indexing dispatcher component.

<crawler>

Part of the host element. Specifies if a host (server) will have a Web crawler component.

<webanalyzer>

Part of the host element. Specifies if a host (server) will have a Web analyzer component.

<searchengine>

Part of the host element. Specifies if a host (server) will have a search cluster component (indexing or query matching or both).

<query>

Part of the host element. Specifies if a host (server) will have the query processing component.

<row>

Part of the searchcluster element. Specifies the features of a single search row or indexer row in the search cluster (deployment).

How it works

The post-setup configuration wizard uses the deployment.xml file to configure the local server. On the administration server, the wizard retrieves a local copy, and on non-administration servers, the wizard gets a copy from the administration server.

Information in deployment.xml is used to generate the local configuration files that are needed to configure the instance of FAST Search Server 2010 for SharePoint.

The local configuration files are updated during post-setup configuration and when you call the cmdlet Set-FastSearchConfiguration.

deployment.xml file format

The deployment.xml file uses XML syntax. The XML schema section contains a formal specification of the file syntax.

The basic element format is as follows:

<element_name [attribute_name="value"] [attribute_name="value"] ... />

For example:

<document-processor processes="4" />

Elements and attributes are case-sensitive. Attribute values must be enclosed in quotation marks (" ") and are not case-sensitive.

Comments can be added anywhere and are delimited by <!-- and -->.

For example:

<!-- Add a useful comment here-->

deployment

Contains the layout of the FAST Search Server 2010 for SharePoint installation

Attributes

Attribute Value Description

version

<value>

Optional; version of deployment file

modifiedBy

user\domain

Optional; user who last modified the deployment file

modifiedTime

time

Optional; the time that the deployment file was last modified

comment

Optional notes

xmlns

https://www.microsoft.com/enterprisesearch

Required namespace definition

xmlns:xsi

http://www.w3.org/2001/XMLSchema-instance

Optional schema definition

xsi:schemaLocation

https://www.microsoft.com/enterprisesearch deployment.xsd

Optional location of schema

Example

<deployment 
    version="1" 
    modifiedBy="domain\user" 
    modifiedTime="2009-03-14T14:39:17+01:00" 
    comment="Comment"
    xmlns="https://www.microsoft.com/enterprisesearch"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="https://www.microsoft.com/enterprisesearch
    deployment.xsd">
    <!-- Hosts go here -->
</deployment>

instanceid

Identifies a unique logical name for the FAST Search Server 2010 for SharePoint instance

Attributes

None

Example

<instanceid>MyFastSearchServer</instanceid>

connector-databaseconnectionstring

The JDBC URL used by connectors to store its own content. This element can be left empty if the FAST Search database connector or the FAST Search Lotus Notes connector is not used.

Example

<connector-databaseconnectionstring>    
    <![CDATA[jdbc:sqlserver://sqlservername\instancename:portnumber;
    DatabaseName=dbname]]>
  </connector-databaseconnectionstring>

host

This element specifies components that will run on a particular host (server). Add one host entry for each server in the FAST Search Server 2010 for SharePoint deployment.

Attributes

Attribute Value Description

name

<value>

Fully qualified domain name of this host (server)

useadminservicehttps

true|false

Set to true if components on this server must use HTTPS when communicating with the administration server. This attribute is optional, default is false.

Example

<host name="single01.search.contoso.com" useadminservicehttps="true">
    <!-- components go here -->
</host>

searchcluster

Contains information about how the index is configured.

Important

The primary indexer must always be on row id=”0”.

Attributes

None

Example

<searchcluster>
    <row id="0" index="primary" search="true" />
</search-cluster>

admin

Add this element if a host (server) has the administration component. Only one host (server) can be configured to use the administration component.

The server that is selected as the Administration server in the post-configuration wizard, must be the same as the administration server in deployment.xml.

Attributes

None

Example

<admin />    

document-processor

Add this element if a host (server) will run the item processing component.

Attributes

Attribute Value Description

processes

<value>

Number of item processors that will run on the host (server). Must be an integer value between 1 and 20.

More processes can be added for better usage of servers that have many cores.

Default: 4.

Example

<document-processor processes="4" />

content-distributor

Added if a host (server) will run the content distributor component

Attributes

Attribute Value Description

id

<value>

Must be an integer value 0 or larger. If several content distributors are added for redundancy, assign a unique id to each instance.

Example

<content-distributor id="0" />

indexing-dispatcher

Added if a host (server) has the indexing dispatcher component

Attributes

None

Example

<indexing-dispatcher />

crawler

Added if a host (server) has a Web crawler component.

Note

Specify this element when you use the optional FAST Search Web crawler. You do not have to specify this element when you use the Web site indexing connector option in the FAST Search connector Content Search Service Application (Content SSA).

An installation can have several single server Web crawlers or a distributed Web crawler. Only one Web crawler element can be defined per host (server).

Attributes

Attribute Value Description

role

single|multi

Specifies if the crawler is a stand-alone crawler or part of a distributed crawler.

Default: single

multi-node-scheduler

true|false

If part of a distributed crawler, this attribute specifies if the server will run the multi-node scheduler. A distributed crawler can have only one multi-node scheduler. Ignored if role is "single".

node-scheduler

true|false

This attribute specifies if the server will run a node scheduler. A distributed crawler can have several node-schedulers, but only one per server. Ignored if role is "single".

duplicate-server

true|false

This attribute specifies if the server will run a duplicate server. A distributed crawler can have several duplicate servers, but only one per server. Ignored if role is "single".

duplicate-server-replica

true|false

This attribute determines whether the server will run a duplicate server replica. A distributed crawler can have several duplicate server replicas, but only one per server. Ignored if role is "single".

duplicate-server-replica-host

<value>

This attribute specifies the location of the duplicate server replica that the local duplicate server will use. Ignored if role equals "single", or if no duplicate server is specified on the local server.

Remarks

Consult Crawling Web content with the FAST Search Web crawler for more information about the various Web crawler components.

Example

The following example describes a situation with three hosts, running a Web crawler with one Multi-node Scheduler, two Node-Schedulers and two Duplicate Servers, where one replicates the other.

<host name="node1">
      <!-- Multi Node Scheduler -->
      <crawler role="multi" multi-node-scheduler="true">
</host>
<host name="node2">
      <!-- Node Scheduler and Duplicate Server -->
      <crawler role="multi" node-scheduler="true" duplicate-server="true" duplicate-server-replica-host="node3">
</host>
<host name="node3">
      <!-- Node Scheduler and Duplicate Server replica -->
      <crawler role="multi" node-scheduler="true" duplicate-server-replica="true">
</host>

webanalyzer

Added if a server has the Web analyzer component. A cluster can have several single node crawlers or a distributed Web analyzer. You can have only one Web analyzer element per server.

Attributes

Attribute Value Description

server

true|false

If part of a distributed Web analyzer, this attribute specifies if the server will run the central administration of the Web analyzer. A distributed Web analyzer can have only one server. Must be "true" for a local instance of the Web analyzer.

max-targets

<value>

Specifies the number of processors that the Web analyzers will use.

Default: 1

link-processing

true|false

If part of a distributed Web analyzer, this attribute specifies if the server will process links extracted in the item pipeline. A distributed Web analyzer can have several instances of link-processors in a cluster. Must be "true" for a single server Web analyzer.

lookup-db

true|false

If part of a distributed Web analyzer, this attribute specifies if the server will be used to look up data on links. A distributed Web analyzer can have several instances of lookup-db in a cluster. Must be "true" for a single server Web analyzer.

redundant-lookup

true|false

If part of a distributed Web analyzer, this attribute specifies if the server will have a redundant lookup database for failover. A distributed Web analyzer can have several instances of redundant lookup-databases in a cluster, but only on servers that have lookup-db enabled.

Remarks

For additional information about installing a distributed Web analyzer, see:

Example

<webanalyzer 
      server="true" max-targets="1" 
      link-processing="true" lookup-db="true" 
      redundant-lookup="false"
    />

searchengine

Added if a host (server) has the core search components, which include indexer and query matching components

Attributes

Attribute Value Description

row

<value>

The search row or indexer row that the server belongs to.

column

<value>

The index column that the server belongs to.

Remarks

The attributes specify where the server belongs in the search grid, based on this and the information retrieved from the searchcluster tag.

Example

<searchengine row="0" column="0" />

query

Add this element to enable query and result processing on a host (server). You can configure the query component on more than one server (host) for fault-tolerance and performance.

Attributes

None

Example

<query />

row

Describes the role of search row or indexer row: if it indexes content, if it is a backup indexer, and if the row has search capabilities enabled

Attributes

Attribute Value Description

id

<value>

The row number; must start at 0 and increase sequentially by 1 for each row tag

index

primary|secondary|none

Specifies if the row will have indexing, if it is the primary indexer, the secondary indexer in a fault-tolerant setup, or if the row has no indexers (none).

Important

The primary indexer must always be on row id=”0”.

search

true|false

Specifies if the row will have search dispatchers

Remarks

Consult the Search Cluster documentation for more information about how to configure a search cluster.

Example

Single node example:

<searchcluster>
    <row id="0" index="primary" search="true" />
</searchcluster>

Multi-node example:

<searchcluster>
    <row id="0" index="primary" search="false" />
    <row id="1" index="secondary" search="true" />
    <row id="2" index="none" search="true" />
</searchcluster>

Example deployment.xml for a single server deployment

The following is a sample configuration file for a single server deployment:

<?xml version="1.0" encoding="utf-8" ?>
<deployment 
    version="14" 
    modifiedBy="domain\user" 
    modifiedTime="2009-03-14T14:39:17+01:00" 
    comment="Comment"
    xmlns="https://www.microsoft.com/enterprisesearch"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="https://www.microsoft.com/enterprisesearch
    deployment.xsd">

  <instanceid>FAST Search Server Single Node</instanceid>
  
  <connector-databaseconnectionstring>    
    <![CDATA[jdbc:sqlserver://sqlservername\instancename:portnuber;
    DatabaseName=dbname]]>
  </connector-databaseconnectionstring>
  
  <host name="single01.search.contoso.com">
    <admin />
    <document-processor processes="4"/>
    <content-distributor id="0" />
    <indexing-dispatcher />
    <crawler role="single" />
    <webanalyzer 
      server="true" max-targets="1" 
      link-processing="true" lookup-db="true" 
      redundant-lookup="false"
    />
    <searchengine row="0" column="0" />
    <query />    
  </host>
  
  <searchcluster>
    <row id="0" index="primary" search="true" />
  </searchcluster>

</deployment>

XML schema

The following XML schema specifies the component distribution configuration file format:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="https://www.microsoft.com/enterprisesearch"
  elementFormDefault="qualified"
  xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns="https://www.microsoft.com/enterprisesearch">
  
  <!-- *********************** Global elements ********************* -->
  
  <xs:element name="deployment" type="CT_deployment" />


  <!-- ************************ Simple types ********************** -->
  
  <xs:simpleType name="ST_crawler-role">
    <xs:restriction base="xs:string">
      <xs:enumeration value="single"></xs:enumeration>
      <xs:enumeration value="multi"></xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="ST_index">
    <xs:restriction base="xs:string">
      <xs:enumeration value="primary"></xs:enumeration>
      <xs:enumeration value="secondary"></xs:enumeration>
      <xs:enumeration value="none"></xs:enumeration>
    </xs:restriction>
  </xs:simpleType>

  <!-- ************************ Complex types ********************** -->  

  <xs:complexType name="CT_deployment">
    <xs:sequence minOccurs="1" maxOccurs="unbounded">
      <xs:element name="instanceid" minOccurs="1" maxOccurs="1" type="xs:string" />
      <xs:element name="connector-databaseconnectionstring" minOccurs="1" 
        maxOccurs="1" type="xs:string" />
      <xs:element name="host" type="CT_host" minOccurs="1" maxOccurs="unbounded" />
      <xs:element name="searchcluster" type="CT_searchcluster" minOccurs="1" 
        maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="version" use="optional" type="xs:int" />
    <xs:attribute name="modifiedBy" use="optional" type="xs:string" />
    <xs:attribute name="modifiedTime" use="optional" type="xs:dateTime" />
    <xs:attribute name="comment" use="optional" type="xs:string" /> 
  </xs:complexType>
      
  <xs:complexType name="CT_host">
    <xs:all>
      <xs:element name="admin" type="CT_admin" minOccurs="0" maxOccurs="1" />
      <xs:element name="content-distributor" type="CT_content-distributor" 
        minOccurs="0" maxOccurs="1" />
      <xs:element name="indexing-dispatcher" type="CT_indexing-dispatcher" 
        minOccurs="0" maxOccurs="1" />  
      <xs:element name="document-processor" type="CT_document-processor" 
        minOccurs="0" maxOccurs="1" />
      <xs:element name="crawler" type="CT_crawler" minOccurs="0" maxOccurs="1" />
      <xs:element name="webanalyzer" type="CT_webanalyzer" minOccurs="0" 
        maxOccurs="1" />
      <xs:element name="searchengine" type="CT_searchengine" minOccurs="0" 
        maxOccurs="1" />
      <xs:element name="query" type="CT_query" minOccurs="0" maxOccurs="1" />
      <xs:element name="custom" type="CT_custom" minOccurs="0" maxOccurs="1" />
    </xs:all>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="useadminservicehttps" use="optional" type="xs:boolean" default="false"/>
  </xs:complexType>

  <xs:complexType name="CT_admin" />

  <xs:complexType name="CT_content-distributor">
    <xs:attribute name="id" use="optional" type="xs:int" default="1" />
  </xs:complexType>

  <xs:complexType name="CT_indexing-dispatcher" />
  
  <xs:complexType name="CT_document-processor">
    <xs:attribute name="processes" use="optional" type="xs:int" default="1" />
  </xs:complexType>

  <xs:complexType name="CT_crawler">
    <xs:attribute name="role" type="ST_crawler-role" />
    <xs:attribute name="multi-node-scheduler" use="optional" type="xs:boolean" 
      default="false"/>
    <xs:attribute name="node-scheduler" use="optional" type="xs:boolean" 
      default="false"/>
    <xs:attribute name="duplicate-server" use="optional" type="xs:boolean" 
      default="false"/>
    <xs:attribute name="duplicate-server-replica-host" use="optional" 
      type="xs:string"/>
    <xs:attribute name="duplicate-server-replica" use="optional" type="xs:boolean" 
      default="false"/>
  </xs:complexType>
  
  <xs:complexType name="CT_webanalyzer">
    <xs:attribute name="server" use="required" type="xs:boolean" />
    <xs:attribute name="lookup-db" use="required" type="xs:boolean" />
    <xs:attribute name="link-processing" use="required" type="xs:boolean" />
    <xs:attribute name="max-targets" use="optional" type="xs:int" />
  </xs:complexType>

  <xs:complexType name="CT_searchengine">
    <xs:attribute name="row" type="xs:int" use="required" />
    <xs:attribute name="column" type="xs:int" use="required" />
  </xs:complexType>

  <xs:complexType name="CT_query" />

  <xs:complexType name="CT_custom">
    <xs:attribute name="ref" type="xs:string" use="required" />
  </xs:complexType>

  <xs:complexType name="CT_searchcluster">
    <xs:sequence>
      <xs:element name="row" type="CT_row" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  
  <xs:complexType name="CT_row">
    <xs:attribute name="id" type="xs:int" use="required" />
    <xs:attribute name="index" type="ST_index" use="required" />
    <xs:attribute name="search" type="xs:boolean" use="required" />
  </xs:complexType>

</xs:schema>

See Also

Concepts

Reconfigure the farm deployment (FAST Search Server 2010 for SharePoint)