Viewing SearchSource.config


The configuration file SearchSource.config informs InSite Search as to what is searchable in the DSS. It's important that you do not customize the SearchSource.config file directly, as each publish operation rewrites this file on disk. Administrators should apply search customizations via the CMS Search Configuration UI, which populates SearchSource.config, safely.

You can view your SearchSource.config file, however. It resided in the Settings folder in the path of your publishing target (e.g., [Drive]:\[path to DSS root directory]\[directory-containing-published-content]\settings\SearchSource.config).

Note: Keep in mind that you must indicate the locations of all indexing sources within the Search.config file, including the setting file, SearchSource.config. In Search.config, the SearchSource.config file is identified by its library type, which is Ingeniux.Runtime.DssContentSearchSource. Please refer to Setting up the Main InSite Search Index for more information about how to set indexing sources in Search.config.

SearchSource.config Example


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="Search" type="Ingeniux.Search.Configuration.IndexingSourceConfig, Ingeniux.Search" />
  </configSections>
  <Search>
    <Settings>
      <!-- The following are set in Administrator > InSite Search Configuration > Settings tab > Search Settings: -->
      <add name="PagesBatchSize" value="2500" />
      <add name="DocumentsBatchSize" value="5000" />
      <!-- The following are set in Administrator > InSite Search Configuration > Assets: (Default documentLocations value is null.) -->
      <add name="documentLocations" value="documents/pdf" />
      <!-- The following are set in Administrator > InSite Search Configuration > Settings tab > Custom Settings: -->
      <add name="documentComponents" value="BinaryDocument" />
      <add name="EnabledDepthBoostFactor" value="false" />       
    </Settings>
    <DefaultFields>
      <!-- The following are set in Administrator > InSite Search Configuration > Fields tab > Field Exclusions: -->
      <add name="Banner" includeInSearchResults="false" boost="1" />
      <!-- The following are set in Administrator > InSite Search Configuration > Fields tab > Field Boosts: -->
      <add name="BodyCopy" includeInSearchResults="true" boost="1" />      
    </DefaultFields>
    <Types>
      <!-- The following are set in Administrator > InSite Search Configuration > Schemas tab > Schema Exclusions: -->
      <add type="SearchResultPage" friendlyName="Search Result Page" includeInGlobalSearch="false" />
      <!-- The following are set in Administrator > InSite Search Configuration > Schemas tab > Schema Boosts and Fields: -->
      <add type="DetailPage" friendlyName="Detail Page" includeInGlobalSearch="true" boost="1" >
        <Fields>
      <!-- The following are set in Administrator > InSite Search Configuration > Schemas tab > [Schema Type] > Add Field Exclusion option: -->
          <add type="SEO" includeInSearchResults="false" boost="1" />
      <!-- The following are set in Administrator > InSite Search Configuration > Schemas tab > [Schema Type] > Add Field Boost option: -->
          <add type="DescriptiveTitle" includeInSearchResults="true" boost="1.2" />   
        </Fields>
      </add>
    </Types>
  </Search>
</configuration>
        

Settings

The following table contains descriptions of the documentComponents and EnabledDepthBoostFactor options in the example above as well as other options that you can add to Settings.

Name Default Value Possible Values Example Values Custom Setting Description Notes
IndexingControlField -empty- NoIndex Yes

Value equals the element name to look for on a page in order to determine whether or not to keep the page in the search index.

Expected value: NoIndex Checkbox element, which is a common element found in the SEO group for most Page Schemas.

Code checks for the value equal to true; otherwise, it falls back to false. If the state is changed for NoIndex and the page is published, then the Indexer log will show page either being added or deleted from the index.

Note: Be aware that the code will only look for the first instance of the defined element value on the page. If there are multiple elements with the same name, which is unlikely, it will ignore all other instances and only look at the first returned value.
documentComponents -empty- BinaryDocument, Block Yes Value equals Schema Root Name, which is to be included in content indexing. Multiple components should be comma-separated.
documentLocations  -empty- documents,code/documentation,qa/instructions/processes Yes Path to documents such as PDFs and MS Word. See iFilter Indexing for details.
Version Notes: CMS 10.2+

This setting only applies to CMS 10.1 and below. If you have a CMS 10.2+ installation, configure this setting through the CMS's InSite Search UI. For details, see Indexing Assets in CMS 10.1+.

Note: If documentLocations is not configured or if its value field is empty, then the indexer falls back to legacy document indexing where all files in the documents folder are indexed.

Note: Avoid conflicts when using the documentLocations option, which include paths to binary documents such as PDFs and Microsoft Word.

OnlyIndexSearchables false
  • true
  • false
true Yes Boolean value, which tells the indexer to only index fields (elements) marked with the Searchable attribute.
PagesBatchSize 2500 2000 No Number of pages to process for indexing per batch. This value is predefined in the CMS Search Configuration by default.

This value is configured in the Settings > Search Settings area.
DocumentsBatchSize 5000 4000 No Number of documents to process for indexing per batch. This value is predefined in the CMS Search Configuration by default. This value is configured in the Settings > Search Settings area.
IFilterTimeOut 30 40 Yes Number in seconds for the indexer to wait for response when indexing Documents (iFilter).
IncludeComponentContentInPage false
  • true
  • false
true Yes When component content has been included in page(s), this setting re-indexes pages when the component has changed. Query matches return the xID of the parent page (not the component). By default, schema names, "Site Control", and "Section Control" are omitted from search.

Note: To exclude other component types from search, see Configuring Search Schemas.

ExcludeDocumentExtensions -empty- xml,css,js Yes Readable files within the Document asset path are indexed by the iFilter indexing process. If there are file types residing within Assets that you do not want to include in your search results, you can configure this setting to define filetype extensions that will not be indexed.

Note: Because these options affect index-time boost score calculation, you will need to delete and then re-index your publish content when either the feature is first enabled, or each time an adjustment is made to the configuration for this feature. For this reason, it is recommended to test your configuration in a test environment prior to implementing changes in production environments.

ExcludeDocumentPaths -empty- IntranetDocs,MyDocs\Private,Do\Not\Index Yes If there are specific folders within your Assets path that you do not wish to be returned as search results, you can set the ExcludeDocumentPaths Custom Setting to prevent these subfolders from being indexed.

Note: Because these options affect index-time boost score calculation, you need to delete and then re-index your publish content when either the feature is first enabled, or each time an adjustment is made to the configuration for this feature. For this reason, it is recommended to test your configuration in a test environment prior to implementing changes in production environments.

EnabledDepthBoostFactor true
  • true
  • false
false Yes The setting for Depth Indexing Boost Factor. True means page/doc closer to site root receives a higher score. This setting only applies to pages, not document assets.
DocumentIndexingBoost 0.25 1.0 Yes The setting for Document Indexing Boost value should be 0 to 2. (Higher values are not recommended because this pushes all documents to top in returned results.) This setting controls the positions of documents in search results. Default value (0.25) allows pages to show up before documents (e.g., MS Word, PDF) in general.
  • When IgnoreLengthNorm equals true then set DocumentIndexingBoost equal to or less than 0.25 to place documents below pages.
  • When IgnoreLengthNorm equals false then set DocumentIndexingBoost equal to 1.0 to place documents below pages.

Note: If you have enabled IgnoreLengthNorm, which is set in Search.config, then you may find that document assets score much higher than pages depending on your asset tree structure. Setting DocumentIndexBoost will help to ensure that documents are not among the first returned results.

AssetMetaDataAdditionalFields -empty- StandaloneElement, MyMetadata__CustomerText, MyMetadata__PublishDate Yes This setting is for organizations that have added metadata elements to their asset schemas for the purpose of refining asset search results. Elements are indexed as their own fields for the Asset item in the Lucene index, which users will queried against.
Version Notes: ISS 2.13+
This setting only applies to InSite Search 2.13 and above.
Note: String values are a comma-delimited list of element names from the Asset Schema. If your custom metadata element resides in a group, format the value this way: GroupName__ElementName.

Types

When schemas are added within the Types element of SearchSource.config and the includeInGlobalSearch attribute is set to false, then those schemas will be excluded from search.

SearchSource.config Location type friendlyName includeInGlobalSearch
Attributes set in the add tag within Types Schema Name This value is the display name, not the root name, of the schema. If false, hits within the named schema will be excluded.

Fields

Field exclusions omit field from the search index; therefore, content from omitted fields will not be returned in searches. Field boosts increase how prominently these fields display when returned in search results.

  • DefaultFields: When exclusions and boosts are added within the DefaultFields element of SearchSource.config, then these options apply to all fields, across all schemas.
  • Fields: When exclusion and boosts are added within the Fields element of SearchSource.config, then these options only apply to fields in the defined schema type(s).
SearchSource.config Location name includeInSearchResults boost
Attributes set in the add tag within DefaultFields Field (element) name as String. If false, hits within the named field will be excluded. The boost value (float) ranks hits within the named field. For example, assuming no other influences, a boost value of 1.6 will rank a field higher than another field that is ranked 1.4.
Attributes are set in the add tag within Fields Field (element) name as String. If false, hits within the named field will be excluded. The boost value (float) ranks hits within the named field. For example, assuming no other factors, a boost value of 1.6 will rank a field higher than another field that is ranked 1.4.

Note: While you can set the boost value from a range of 1.0 through 4.0, the recommended range is to stay within 1.0 through 2.0, as higher values tend to introduce additional variances in results. Example of name attribute: BodyCopy.