全文搜索的体系结构
更新日期: 2006 年 4 月 14 日
Microsoft SQL Server 2005 中的全文搜索由 Microsoft Full-Text Engine for SQL Server (MSFTESQL) 服务提供支持。MSFTESQL 服务有两个角色:索引支持和查询支持。
SQL Server 中的全文搜索体系结构如下图所示。
体系结构包含以下进程:
- SQL Server 进程 (Sqlservr.exe)
- Microsoft SQL Server Full-Text Engine for 进程 (msftesql.exe)
- Microsoft Full-Text Engine Filter Daemon 进程 (msftefd.exe)
每个进程都包含多个组件,以下部分将对其进行说明。
SQL Server 进程
SQL Server 进程包含下列组件:
- 用户表
这些表包含要进行全文索引的数据。 - 键映射
此组件包含全文键列中的数据值和内部文档 ID 之间的映射。 - SQL Server 查询处理器
- Microsoft 全文收集器
该组件负责计划和驱动对全文索引的填充,并负责监视全文目录。
Microsoft Full-Text Engine for SQL Server (MSFTESQL) 进程
MSFTESQL 服务负责下列操作:
- 填充和管理全文目录。
- 使在 SQL Server 数据库中对表进行全文搜索更简单。
MSFTESQL 进程承载下表中列出的组件。
组件 | 说明 |
---|---|
筛选 Daemon 管理器 |
负责监视 Microsoft Full-Text Engine Filter Daemon (MSFTEFD) 进程的状态。 |
索引器 |
生成用于存储索引令牌的倒排索引结构。有关详细信息,请参阅全文索引的结构。 |
同义词库文件 |
包含搜索项的同义词。有关详细信息,请参阅同义词库。 |
干扰词文件 |
包含经常出现但对搜索没有帮助的词的列表。有关详细信息,请参阅干扰词。 |
断字符和词干分析器 |
对所有全文索引数据执行语言分析。断字符是用于确定在进行全文索引的行中单词边界位于文本流中什么位置的组件。词干分析器用于提取给定单词的根形式。例如,“running”、“ran”和“runner”是单词“run”的不同形式。在查询时,如果查询是 FREETEXT 查询或请求变形扩展,MSFTESQL 服务将调用词干分析器间。 |
有关详细信息,请参阅断字符和词干分析器。
有关 MSFTESQL 服务的详细信息,请参阅 Microsoft SQL Server 全文引擎。
Microsoft Full-Text Engine Filter Daemon (MSFTEFD) 进程
MSFTEFD 是在全文索引进程期间由 MSFTESQL 服务启动的。MSFTEFD 承载负责从表、断字和词干分析中访问和筛选数据的下列组件。
- 协议处理程序
在 SQL Server 2005 中,该组件访问指定数据库中表的数据。 - 筛选器
从文档中提取文本化信息流,并舍弃所有非文本化信息和格式化信息。有关详细信息,请参阅全文搜索筛选器。 - 断字符和词干分析器
内部表
全文搜索使用下列内部表:
- fulltext_index_map 存储全文键列和唯一标识文档的内部文档 ID 之间的映射。
- fulltext_catalog_freelist 存储未使用的文档 ID。
注意: |
---|
这些表仅供内部使用。无法修改这些表或对其运行查询。我们不保证向后兼容性,也不保证这些表在 SQL Server 的未来版本中的可用性。 |
请参阅
概念
Microsoft SQL Server 全文引擎
全文索引和查询过程
其他资源
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2006 年 4 月 14 日 |
|