SearchSource.config Reference


SearchSource.config Example

Caution
We do not recommend that you edit SearchSource.config by hand. Each publish clears the SearchSource.config file. However, it may be advantageous to view the SearchSource.config file to verify aspects of its configuration. Administrators should apply search customizations via the CMS Search Configuration UI, which populates SearchSource.config safely.

The example below displays generic code contained within SearchSource.config.

            <?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="Search"
            type="Ingeniux.Search.Configuration.IndexingSourceConfig, Ingeniux.Search"/>
    </configSections>
    <Search>
        <Settings>
            <!-- The following set in Administration > InSite Search Configuration > Settings tab > Search Settings. -->
            <add name="PagesBatchSize" value="2500"/>
            <add name="DocumentsBatchSize" value="5000"/>
            <!-- The following set in Administration > InSite Search Configuration > Assets. Default documentLocations value is null. -->
            <add name="documentLocations" value="binary,images"/>
            <!-- The following set in Administration > InSite Search Configuration > Settings tab > Custom Settings. -->
            <add name="documentComponents" value="BinaryDocument"/>
            <add name="EnabledDepthBoostFactor" value="false"/>
        </Settings>
        <DefaultFields>
            <!-- The following set in Administration > InSite Search Configuration > Fields tab > Field Exclusions. -->
            <add name="Banner" includeInSearchResults="false" boost="1"/>
            <!-- The following set in Administration > InSite Search Configuration > Fields tab > Field Boosts. -->    
            <add name="BodyCopy" includeInSearchResults="true" boost="1"/>
        </DefaultFields>
        <Types>
            <!-- The following set in Administration > InSite Search Configuration > Schema tab > Schema Exclusions. -->    
            <add type="SearchResultsPage" fieldlyName="Results Page" includeInGlobalSearch="false"/>
            <!-- The following set in Administration > InSite Search Configuration > Schema tab > Schema Boosts and Fields. -->   
            <add type="DetailPage" fieldlyName="Detail Page" includeInGlobalSearch="true" boost="1">
                <Fields>
                    <!-- The following set in Administration > InSite Search Configuration > Schema tab > [Schema Type] > Add Field Exclusion option -->   
                    <add name="SEO" includeInSearchResults="false" boost="1"/>
                    <!-- The following set in Administration > InSite Search Configuration > Schema tab > [Schema Type] > Add Field Boost option -->   
                    <add name="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.

NameValue TypeDefault ValueExample Value(s)Custom SettingDescriptionNotes
IndexingControlFieldString-empty-NoIndexYes

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.
documentComponentsString-empty-BinaryDocument, BlockYesValue equals Schema Root Name, which is to be included in content indexing. Multiple components should be comma-separated.
documentLocations String-empty-documents,code/documentation,qa/instructions/processesYesPath to documents such as PDFs and MS Word. See iFilter Indexing for details.
Version Notes: Ingeniux 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.
OnlyIndexSearchablesStringfalsetrue | falseYesBoolean value, which tells the indexer to only index fields (elements) marked with the Searchable attribute.
PagesBatchSizeInteger25002000NoNumber 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.
DocumentsBatchSizeInteger50004000NoNumber 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.
IFilterTimeOutInteger3040YesNumber in seconds for the indexer to wait for response when indexing Documents (iFilter).
IncludeComponentContentInPageStringfalsetrue | falseYesWhen 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.
ExcludeDocumentExtensionsString-empty-xml,css,jsYesReadable 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 file type 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.
ExcludeDocumentPathsString-empty-IntranetDocs,MyDocs\Private,Do\Not\IndexYesIf 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 sub-folders 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.
EnabledDepthBoostFactorStringtruetrue | falseYesThe 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.
DocumentIndexingBoostInteger0.251.0YesThe 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.
AssetMetaDataAdditionalFieldsString-empty-StandaloneElement, MyMetadata__CustomerText, MyMetadata__PublishDateYesThis 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: InSite Search 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 TypesSchema NameThis 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 DefaultFieldsField (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 FieldsField (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.