Configuring Search.config for Keymatch Search
The Search.config file acts as a hub for all InSite Search configurations, including Keymatch Search.
This file defines the location of main content index files, which outputs to a single location on disk. Ingeniux Keymatch Search queries the main content index.
Note
If
you upgraded your site to CMS 10.x and need to re-establish ISS, see Implementing InSite Search After Site Upgrade for details about upgrading
Search.config.
To configure Search.config for Keymatch
Search:
- Open your DSS solution in Visual Studio.
- Right-click the solution file (i.e., the top node) in the Solution Explorer view, and select Rebuild.
- Navigate to
[Drive]:\[path-to-DSS-root-folder],
and open Search.config in a text editor.
The example below displays generic code contained within Search.config. <?xml version="1.0"?> <configuration> <configSections> <section name="Search" type="Ingeniux.Search.Configuration.IndexingConfiguration, Ingeniux.Search"/> </configSections> <Search indexLocation="App_Data\LuceneIndex" synonymslocation="[Drive]:\[path to DSS root directory]\published\iss-config\Synonyms.xml" indexingEnabled="true" queryMaxClauses="1024"> <Hiliter startTag="<strong>" endTag="</strong>"/> <Settings> <add name="defaultIndexingAnalyzer" value="Ingeniux.Search.Analyzers.StemmingIndexingAnalyzer, Ingeniux.Search"/> <add name="defaultQueryAnalyzer" value="Ingeniux.Search.Analyzers.StemmingQueryAnalyzer, Ingeniux.Search"/> <add name="QueryFieldsFileLocation" value="[Drive]:\[path to DSS root directory]\[subfolder(s)]\QueryFields.xml"/> <add name="DocumentBoostByFacetsFileLocation" value="App_Data\DocumentBoostByFacetsFileLocation.xml"/> <add name="GSearchFieldMapping" value="[Drive]:\[path to DSS root directory]\[subfolder(s)]\GSearchFieldMapping.xml"/> </Settings> <IndexingSources> <add name="CMSPublishedContent" type="Ingeniux.Runtime.Search.DssContentSearchSource" settingsFile="[Drive]:\[path to DSS root directory]\settings\SearchSource.config"/> <add name="KeyMatch" type="Ingeniux.Search.KeyMatchSearchDocumentSource" settingsFile="App_Data\KeymatchSource.config"/> <add name="SpellCheckDictionary" type="Ingeniux.Search.SpellCheckerSearchDocumentSource" settingsFile="App_Data\spellcheckerSource.config"/> <add name="SiteCrawlerSource" type="Ingeniux.Search.HtmlSiteSource" settingsFile="App_Data\sitecrawlerSource.config"/> <add name="Analytics" type="Ingeniux.Search.AnalyticsSearchDocumentSource" settingsFile="App_Data\analyticSource.config"/> </IndexingSources> <SearchProfiles> <add name="Independent-search-profile-1"> <Sources> <add name="KeyMatch"/> <add name="SpellCheckDictionary"/> <add name="analytics"/> </Sources> </add> </SearchProfiles> </Search> </configuration>
- On the
<Search>
element, complete the following steps.- Ensure the
@indexLocation
attribute value points to the luceneIndex folder, which stores your main content index. - Set the
@indexingEnabled
attribute value to true.
Your code should look similar to the following example: - Ensure the
- If an
<add>
element doesn't already exist for published CMS content within the<IndexingSources>
element, create one. Complete the following steps in the<add>
element:- Enter an arbitrary, unique name as the
@name
attribute value for identification purposes. - Enter Ingeniux.Runtime.Search.DssContentSearchSource as the
@type
attribute value.NoteQueries that run against this library type require that the content published from an Ingeniux CMS be used by an Ingeniux DSS. - Enter an absolute path to SearchSource.config as
the
@settingsFile
attribute value.ImportantVerify the validity of the DSS directory filepath to SearchSource.config. A basic SearchSource.config file resides in [Drive]:\[path-to-DSS-root-folder]\[directory-containing-published-content]\settings. This file generates on publish of CMS content to the publishing content's settings folder (e.g., [Drive]:\[path-to-cms-site-instance]\site\App_Data\pub\[publishing-target-name]\settings\SearchSource.config).
Your code should look similar to the following example:
- Enter an arbitrary, unique name as the
- If an
<add>
element doesn't already exist for Keymatch search within the<IndexingSources>
element, create one. Complete the following steps in the<add>
element:- Enter a unique name as the value of the
@name
attribute.NoteThis name is for identification and can be arbitrary. - Enter
Ingeniux.Search.KeyMatchSearchDocumentSource
as the value of the
@type
attribute. - Enter the filepath to KeymatchSource.config for
the value of the
@settingsFile
attribute.NoteYou can use a relative path to the default Keymatch configuration file (i.e., App_Data\KeymatchSource.config), which is included during installation.
For example, your Keymatch search <add>
element and attributes should look similar to the following code: - Enter a unique name as the value of the
- Save and close Search.config.
Next Steps:
- Configure SearchSource.config to suit your needs via the CMS user interface.
- Configure KeymatchSource.config for Keymatch Search.