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. |
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 | 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 | 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 |
|
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.
|
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. |
|
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.