Digital information is stored in both database columns and in the file system as unstructured data, primarily text. Some text data is stored in database character-type columns as well. For example, in Microsoft® SQL Server™, such data can be stored in database columns with the char, varchar, text, ntext, nchar, or nvarchar data types.
Consequently, a method for retrieving this text data from the database is needed. Relational database management systems traditionally have had limited capabilities for finding patterns in textual data. For example, a system may be able to retrieve text based on pattern matching, but cannot handle searches that look up words and phrases in close proximity to one another.
Previously, corporate users of relational database management systems had to buy expensive third-party offerings to retrieve or query data stored in these character-based database columns. These solutions typically involved a two-step process:
- Pull data out of the database through a bridge or gateway.
- Store the data as character-based operating-system files so that full-text indexing can be applied.
Using this two-step process meant that there was no seamless way for combining a full-text query with a regular, structured relational query. SQL Server solves this problem by allowing full-text queries to be issued against plain character-based data in SQL Server tables, including words and phrases, or multiple forms of a word or phrase.
To enable a database for full-text indexing