Search Descriptions Version
 
 
This article applies to: ML8, MultiStore

Setup Full Text Search


From Configuration Menu, click Advance → Setup Full Text Search

Full text search is a feature of SQL that makes searching for products on the site more flexible and responsive. With the standard search features, if a customer looks for "Green shirt", only products that have exactly that phrase in that order will be returned. With full text search, the same query would return all products that contain the word "green" and all products that contain the word "shirt", along with those containing the full phrase.

Should I use Full Text Search?

Not all sites are going to want to use this feature. It can be resource intensive in terms of processing power and memory usage during live operation, as well as using a good deal of hard drive space over time. Because of this, enabling this feature on a server that does not have sufficient resources can result in very slow searches. Also, many sites simply will not need this feature. If your product lines are simple or small, full text indexing is not going to significantly improve your search feature. Check with your host or server administrator to determine whether or not this feature would be worthwhile in your case.

Prerequisites

Full text search has the following requirements:

- SQL Server 2005 or 2005 Express (NOTE: Express is not recommended for high-volume sites)
- Microsoft Full-Text Engine for SQL Server (MSFTESQL) service installed (see here for details on this installation)
- Disk space sufficient for the index files (check with your server administrator for an idea of how large those files are likely to grow in your case)

NOTE: Check with your hosting provider to find out if your hosting plan supports full text search indexing. AspDotNetStorefront Shared & Cloud hosting plans are full text search capable.

Setup

To enable this feature in the software (once the MSFTESQL service is installed and running on the server), simply fill in the required fields on this page and click the "Install" button:

Field NameDescription
Please Select LanguageChoose from the available languages to determine which 'Noise Words' will be added to the index by default. See below for information on noise words.
Create New/Reuse CatalogThis radio button determines whether SQL will create a new full text index, or reuse an existing one (from a previous site, for example). If previous catalogs exist, they will be listed below so the desired one can be chosen.
New Catalog NameThe name to give to the new full text index SQL will create.
New Catalog PathIf your server admin wants the index files in a specific location, that path can be listed here. Otherwise, the files will be created in SQL's default location (...Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData).

Noise Words

Noise words are words that are very common in the selected language and are best left out of searches to improve results - words like 'the', 'and', 'your', etc. If a language was chosen during the installation described above, then a pre-generated list of noise words was created automitically. This list can be viewed and modified by clicking the "View/Maintain Noise Words" link on this page:

Each word can be edited or deleted with the buttons shown below.

You can also add new noise words with the form at the bottom of the screen:

Troubleshooting

If after installation the search function of the application fails and/or behaves abnormally, the following troubleshooting steps should be done:

1 - Verify that the DB table dbo.NoiseWords was created.

2 - Check that the functions dbo.GetValidSearchString and dbo.KeywordSearch were created in the DB.

3 - Check if the specified FT catalog that was defined in the set up was created in the specified directory. If the installation directory was left blank, check ...\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData folder.

4 - Check if the stored procedures aspdnsf_GetProducts and aspdnsf_GetProductsOriginal were created.

5 - Perform a search with a wild/universal character (*) such as “ki*” which should return results such as “Kit”, “King” and “Kitty”.

6 - Access the Noise Words page and confirm if the list of common words is complete. Add, edit and/or delete as necessary.

References:

http://msdn.microsoft.com/en-us/library/ms142547.aspx
http://msdn.microsoft.com/en-us/library/ms345119.aspx
http://msdn.microsoft.com/en-us/library/ms189826.aspx
http://www.developer.com/db/article.php/3446891
http://msdn.microsoft.com/en-us/library/ms143508.aspx

NOTE: This TroubleShooting section pertains ONLY to SQL 2005.

SQL 2008+ utilizes a slighlty different method for FTS and when troubleshooting you should only need to verify that the SQL instance was installed with FTS. If this query returns a '1' then FTS is installed:

SELECT SERVERPROPERTY('IsFullTextInstalled')

If it is not installed, rerun the SQL installer and be sure "Full-Text Search" option is selected under the "Database Engine Services".