全文搜索入门
更新日期: 2006 年 7 月 17 日
在 Microsoft SQL Server 2005 中为某个表设置全文索引功能需要执行以下两个步骤:
- 创建全文目录来存储全文索引。
- 创建全文索引。
![]() |
---|
除非 SQL Server 中的数据库是使用 SQL Server Management Studio 创建的,否则默认情况下,它们都支持全文索引。若要在使用 Management Studio 创建数据库时为数据库启用全文搜索,请参阅如何创建数据库 (SQL Server Management Studio)。若要为现有数据库启用全文搜索,请参阅如何为数据库启用全文索引 (SQL Server Management Studio)。 |
![]() |
---|
还可以针对索引视图创建全文索引。有关索引视图的详细信息,请参阅视图类型。 |
在 AdventureWorks 中设置全文搜索
以下示例对 AdventureWorks 中的 Document
表创建全文索引。
若要创建一个名为 AdvWksDocFTCat
的全文目录,请使用 CREATE FULLTEXT CATALOG
语句:
CREATE FULLTEXT CATALOG AdvWksDocFTCat
此语句将在安装过程中指定的默认位置创建全文目录。将在默认目录下创建名为 AdvWksDocFTCat
的文件夹。
![]() |
---|
若要指定目录位置,请使用 IN PATH 子句。有关详细信息,请参阅 CREATE FULLTEXT CATALOG (Transact-SQL)。 |
或者,您可以使用 Management Studio 创建全文目录。在对象资源管理器中,在要创建全文目录的数据库下,展开**“存储”文件夹,右键单击“全文目录”文件夹,然后单击“新建全文目录”**。有关详细信息,请参阅新建全文目录(“常规”页)。
全文目录 ID 从 00005 开始,每创建一个新目录,其 ID 值就会递增 1。
确定了全文目录的物理驱动器之后,如果可能的话最好在该物理驱动器上创建它。因为创建全文索引是一个需要大量占用 I/O 的过程(它需要频繁地从 SQL Server 读取数据,然后将索引写入文件系统),您一定不希望 I/O 子系统成为瓶颈。
由于您已经创建了全文目录,因此下一步就可以创建全文索引。但是,在对 Document
表创建全文索引之前,您必须确定该表是否具有唯一且针对单列的非空索引。Microsoft Full-text Engine for SQL Server (MSFTESQL) 服务使用此唯一索引将表中的每一行映射到一个唯一的可压缩键。
若要创建唯一且针对单列的非空索引,请运行以下语句:
CREATE UNIQUE INDEX ui_ukDoc ON Production.Document(DocumentID)
![]() |
---|
Document 表中已包含一个这样的列。上述代码仅用来举例。 |
由于您已经拥有唯一键,因此可以对 Document
表创建全文索引:
CREATE FULLTEXT INDEX ON Production.Document
(
Document --Full-text index column name
TYPE COLUMN FileExtension --Name of column that contains file type information
Language 0X0 --0X0 is LCID for neutral language
)
KEY INDEX ui_ukDoc ON AdvWksDocFTCat --Unique index
WITH CHANGE_TRACKING AUTO --Population type
GO
或者,您可以使用全文索引向导创建全文索引。有关详细信息,请参阅如何启动全文索引向导 (SQL Server Management Studio)。
若要了解在选择列语言时需要注意的事项,请参阅有关全文搜索的国际化注意事项。
若要监视填充状态,请使用 FULLTEXTCATALOGPROPERTY 或 OBJECTPROPERTYEX 函数。若要获得目录填充状态,请运行以下语句:
SELECT FULLTEXTCATALOGPROPERTY('AdvWksDocFTCat', 'Populatestatus')
通常,如果正在进行完全填充,则返回的结果为 1。
请参阅
其他资源
FULLTEXTCATALOGPROPERTY (Transact-SQL)
OBJECTPROPERTYEX (Transact-SQL)
CREATE FULLTEXT CATALOG (Transact-SQL)
CREATE FULLTEXT INDEX (Transact-SQL)
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 7 月 17 日 |
|