Configuring Search.config for Search Suggest
The Search.config file acts as a hub for all InSite Search configurations, including Search Suggest.
This file defines the location of main content index files, which outputs to a single location on disk. Ingeniux Search Suggest 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 the main content
index:
- 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 value of the
@name
attribute 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 value of the
- If an
<add>
element doesn't already exist for search suggest within the<IndexingSources>
element, create one. Complete the following steps in the<add>
element:- Enter an arbitrary, unique name as the value of the
@name
attribute for identification purposes. - Enter
Ingeniux.Search.SpellCheckerSearchDocumentSource
as the value of the
@type
attribute. - Enter the filepath to SpellcheckerSource.config
for the value of the
@settingsFile
attribute.NoteYou can use a relative path to the default Suggest Search configuration file (i.e., App_Data\SpellcheckerSource.config), which is included during installation.
For example, your search suggest <add>
element and attributes should look similar to the following code: - Enter an arbitrary, unique name as the value of the
- Save and close Search.config.
Next Steps: Configure SpellcheckerSource.config for Search Suggest.