Overview of the Search Connector Description Schema

[This documentation is preliminary and is subject to change.]

Introduces the search connector description schema that is used by Microsoft Windows Explorer libraries and federated search providers. The schema specifies the structure and requirements for Search Connector Description files (*.searchConnector-ms) and for searchConnectorDescriptionType elements of the Shell Library Description (*.library-ms) files.

This topic describes the schema as it relates to federated search connectors.

  • What are Search Connectors?
  • How Do Search Connector Description Files Work?
  • What Is the Search Connector Description Schema?
  • What Are the Major Partsof the Schema?
  • Examples of Search Connector Description Files
  • Related Topics

What are Search Connectors?

Search connectors connect users with data stored on web services or remote storage locations. With Windows 7, users can install search connectors for locations, like web services, so that they search those locations directly from Windows Explorer. Search connectors are Search Connector Description files (*.searchConnector-ms) that specify how to connect to, send queries to, and receive results from the location.

In addition to web services, search connectors can be used to search local index scopes created by protocol handlers. For example, users can search e-mail indexed locally with the MAPI protocol handler by using a search connector for that e-mail store.

How Do Search Connector Description Files Work?

When Search Connector Description files are installed on users' systems, users can open Windows Explorer, click the search connector in the navigation pane, and enter a search query. Windows Explorer sends the query using information from the Search Connector Description file, such as which provider to use and the scope of the search. The results are returned as RSS or Atom feed items and displayed to users as if they were regular Shell items.

How you deploy your Search Connector Description file depends on the type of location the search connector supports:

  • In an OpenSearch configuration (*.osdx) file for your web service
  • As part of your protocol handler installation

When users open the .osdx file or install the protocol handler, you should ensure the following happens:

  • The .searchconnector-ms file is created in the users' Windows Searches folder (%userprofile%/Searches).
  • A shortcut to the .searchconnector-ms file is created in the users' Links folder (%userprofile%/Links).

What Is the Search Connector Description Schema?

The Search Connector Description Schema is an XML schema that defines the structure of Search Connector Description files (*.searchConnector-ms). Each search connector must have a Search Connector Description file that specifies how to connect to, send queries to, and receive results from the location.

What Are the Major Partsof the Schema?

Child Elements Description
isSearchOnlyItem Identifies whether the locations supported by the search connector are search-only or search and browse.
isDefaultSaveLocation For library use only.
isDefaultNonOwnerSaveLocation For library use only.
description Specifies a description of the search connector.
iconReference Identifies the location of a custom icon for the search connector.
imageLink Identifies the location of a custom thumbnail for the search connector.
author Identifies the author of the search connector.
dateCreated Identifies the date the search connector is created.
templateInfo Specifies a folder type for the search connector.
locationProvider Specifies the search provider to be used by this search connector.
scope Specifies the locations to include in and exclude from the search scope.
propertyStore Specifies a location to an XML-based IPropertyStore for this search connector. The IPropertyStore supports the search connector's open metadata.
includeInStartMenuScope Identifies whether the location represented by the search connector should be included in the Start menu's search scope.
domain Identifies the search connector's top-level domain.
supportsAdvancedQuerySyntax Identifies whether the search connector supports Advanced Query syntax.
isIndexed Identifies whether the location represented by the search connector is indexed.

Examples of Search Connector Description Files

The following is an example of a Search Connector Description file for a federated search web service.

<?xml version="1.0" encoding="UTF-8"?>
<searchConnectorDescription xmlns="https://schemas.microsoft.com/windows/2009/searchConnector">
  <description>Search MSDN. Powered by live.com</description>
  <isSearchOnlyItem>true</isSearchOnlyItem>
  <domain>https://social.msdn.microsoft.com</domain>
  <supportsAdvancedQuerySyntax>false</supportsAdvancedQuerySyntax>
  <templateInfo>
    <folderType>{8FAF9629-1980-46FF-8023-9DCEAB9C3EE3}</folderType>
  </templateInfo>
  <propertyStore>
    <property name="OpenSearchHTMLRolloverTemplate">https://social.msdn.microsoft.com/Search/en-US/?Query={searchTerms}</property>
  </propertyStore>
  <locationProvider clsid="{48E277F6-4E74-4cd6-BA6F-FA4F42898223}">
    <propertyBag>
      <property name="OpenSearchShortName">MSDN</property>
      <property name="OpenSearchQueryTemplate">https://social.msdn.microsoft.com/Search/Feed.aspx?locale=en-US&Query={searchTerms}&format=RSS&StartIndex={startIndex}</property>
      <property name="MaximumResultCount" type="uint32">100</property>
    </propertyBag>
  </locationProvider>
</searchConnectorDescription>

The following is an example of a Search Connector Description file for a MAPI protocol handler.

<?xml version="1.0" encoding="UTF-8"?>
<searchConnectorDescription xmlns="https://schemas.microsoft.com/windows/2009/searchConnector">
    <description>Microsoft Outlook</description>
    <isSearchOnlyItem>true</isSearchOnlyItem>
    <includeInStartMenuScope>true</includeInStartMenuScope>
    <templateInfo>
        <folderType>{91475FE5-586B-4EBA-8D75-D17434B8CDF6}</folderType>
    </templateInfo>
    <simpleLocation>
        <url>mapi://{S-1-5-21-2127521184-1604012920-1887927527-2779359}/</url>
    </simpleLocation>
</searchConnectorDescription>