Full-Text Search (SQL Server)
SQL Server 2008 provides the functionality for applications and users to issue full-text queries against character-based data in SQL Server tables. Before full-text queries can be run on a given table, the database administrator must create a full-text index on the table. The full-text index includes one or more character-based columns in the table. These columns can have any of the following data types: char, varchar, nchar, nvarchar, text, ntext, image, xml, or varbinary(max). Each full-text index indexes one or more columns from the base table, and each column can have a specific language. Beginning in SQL Server 2008, full-text search supports more than 50 diverse languages, such as English, Spanish, Chinese, Japanese, Arabic, Bengali, and Hindi. For a complete list of the supported full-text languages, see sys.fulltext_languages (Transact-SQL).
For each supported language, SQL Server provides language-specific linguistic components, including a word breaker and stemmer and an empty thesaurus file. For each full-text language, SQL Server also provides a file in which you can optionally define language-specific synonyms to extend the scope of search queries (a thesaurus file). In addition, beginning in SQL Server 2008, a system stoplist is provided. To support specific language or business scenarios, you can alter the system stoplist by adding and removing stopwords (also known as noise words), and you can create additional stoplists as needed.
For writing full-text queries, SQL Server provides a set of full-text predicates (CONTAINS and FREETEXT) and rowset-valued functions (CONTAINSTABLE and FREETEXTTABLE). Using these, applications and users can perform a variety of types of full-text searches, such as searching on a single word or phrase (and optionally ranking the result set), searching on a word or phrase close to another word or phrase, or searching on synonymous forms of a specific word.
Full-text search is an optional component of the SQL Server Database Engine. For more information, see Installing SQL Server 2008 R2.
In This Section
Full-Text Search Overview
Introduces full-text search administration and development.
Full-Text Search Architecture
Describes the fully integrated architecture of full-text search in SQL Server 2008, which introduces a new Full-Text Engine that resides inside the Database Engine.
Administering Full-Text Search
Explains deployment and administration concepts associated with full-text search.
Querying SQL Server Using Full-Text Search
Compares the full-text search Transact-SQL predicates and functions, and describes the different types of queries that you can run using full-text search.
Troubleshooting Full-Text Search
Provides answers to frequently-asked questions and basic troubleshooting information.