Configuring KeymatchSource.config
InSite Search is designed to have a single record for each Keymatch term specified, so each Keymatch entry is a unique term record. If you add multiple Keymatch entries for the same term—for example in a CSV file—the InSite Search indexer reads the current value in the list and skips the previous entries for the same term value.
Caution: Terms should be stored in an area separate from other ranking indexes so that they are not included in indexing.
If you use a CSV file to specify Keymatch entries, changes to the CSV file trigger the re-indexing of Keymatch content.
- Navigate to KeymatchSource.config and open the file in a
text editor.NoteThis source file can reside anywhere. Generally, the App_Data folder contains KeymatchSource.config. (e.g., [Drive]:\[path-to-DSS-root-directory]\App_Data\KeymatchSource.config).
The example below displays generic code contained within KeymatchSource.config. <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="Search" type="Ingeniux.Search.Configuration.IndependentIndexingSourceConfig, Ingeniux.Search" /> </configSections> <Search indexLocation="App_Data\KeyMatch_Index"> <Settings> <!-- tracking cycles are year month--> <add name="CsvFile" value="C:\ancillary-resources\keymatch-terms-1.csv" /> <add name="ContentFieldName" value="BodyCopy" /> <add name="ContentKeyMatchType" value="KeyMatch" /> </Settings> </Search> </configuration>
- Locate the
<Search>
element, and enter the filepath to the Keymatch index files as the value of the@indexLocation
attribute.NoteThe default value is App_Data\KeyMatch_Index.For example, the <Search>
element opening tag should look similar to the following code: - Locate the
<Settings>
element, and set the following attribute values for the nested<add>
elements:ImportantYou must add a *.csv file and/or provide a value for ContentFieldName.- Locate the
<add>
element with CsvFile as the@name
attribute value. In the@value
attribute, enter the filepath to the appropriate CSV file, which contains words that get instruction and definition of the CSV contents.Additional InformationThe CSV file has the following four-column format.Column Description Term Term to match Keymatch results against. KeyMatch | ExactMatch Type of match for this entry. Valid values: KeywordMatch or ExactMatch. See KeymatchSource.Config Reference for details.
URL to Content URL that links to the Keymatch result. Descriptive Title Text that will be used when rendering the Keymatch link result. For example, the CsvFile <add>
element should look similar to the following code:Example CSV File:
- Locate the
<add>
element with ContentFieldName as the@name
attribute value. In the@value
attribute, enter the element root name of a field found within the main index dataset, wherein the Keymatch index is to be created from.ImportantEnsure the element root field name exists in the page type (i.e., schema) for the CMS content you plan to index. If the element nests inside a group element, provide the full element path to the nested element for the@value
attribute.For example, the ContentFieldName <add>
element should look similar to the following code: - Locate the
<add>
element with ContentKeyMatchType as the@name
attribute value. In the@value
attribute, enter the method by which to search against the indexed content.Additional InformationEnter the value in pascal-case. Possible values for the@value
attribute include:See KeymatchSource.Config Reference for details about each value.Value Description KeywordMatch Any word hit will return results. PhraseMatch Any of the words in conjunction will return results. ExactMatch Must match exactly, or nothing will return. For example, the ContentKeyMatchType add element should look similar to the following code:
- If an
<add>
element with AdditionalFieldForContentSource as the@name
attribute value doesn't already exist, create one. In the@value
attribute, enter the element root name of the field that you want to add to the actual page to allow definition of KeyMatchType.Additional InformationThis value falls back on the global setting, but the per-page setting would be an override on the type If a field is present and has a valid value, then the field is used instead of the global setting. These element values are stored for retrieval, but not analyzed.For example, if the Title element is added to this list, then the values for Title display in the returned result set's child elements.
- If an
<add>
element with BatchSize as the@name
attribute value doesn't already exist, create one. In the@value
attribute, enter the batch size as an integer for the index to process.
- Locate the
- Save and close KeymatchSource.config.