全文搜索由全文引擎提供支持。全文引擎有两个角色:索引支持和查询支持。

从 SQL Server 2008 开始,全文搜索体系结构包括以下进程:

  • SQL Server 进程 (sqlservr.exe)
    全文搜索的体系结构(SQL Server 2008)注意:
    在 SQL Server 2008 和更高版本中不存在 MSFTESQL 服务。在 SQL Server 2005 和早期版本中由 MSFTESQL 服务执行的全文任务现由 SQL Server 进程执行。

  • 筛选器后台程序宿主进程 (fdhost.exe)。
    为了安全起见,从 SQL Server 2008 开始,筛选器由称为筛选器后台程序宿主的单独进程加载。服务器实例对所有多线程筛选器使用多线程进程,并对所有单线程筛选器使用单线程进程。
    全文搜索的体系结构(SQL Server 2008)注意:
    fdhost.exe 替换了 SQL Server 2005 和更早版本中的全文引擎筛选器后台程序 (msftefd.exe)。

    fdhost.exe 进程是由 FDHOST launcher 服务 (MSSQLFDLauncher) 创建的,这些进程使用 FDHOST launcher 服务帐户的安全凭据运行。因此,必须运行此服务才能正常进行全文索引和全文查询。有关设置此服务的服务帐户的信息,请参阅如何设置用于全文搜索的 FDHOST 启动器 (MSSQLFDLauncher) 服务帐户(SQL Server 配置管理器)。

这些进程包含全文搜索体系结构的各组件。下图概括了这些组件及其关系。该图后面的内容介绍了这些组件。

全文搜索的体系结构(SQL Server 2008)

全文搜索使用 SQL Server 进程的以下组件:

  • 用户表
    这些表包含要进行全文索引的数据。
  • 全文收集器
    全文收集器使用全文爬网线程。它负责计划和驱动对全文索引的填充,并负责监视全文目录。
    全文搜索的体系结构(SQL Server 2008)注意:
    从 SQL Server 2008 开始,全文目录为虚拟对象且不属于任何文件组。全文目录是表示一组全文索引的逻辑概念。

  • 同义词库文件
    这些文件包含搜索项的同义词。有关详细信息,请参阅同义词库配置。
  • 非索引字表对象
    非索引字表对象包含对搜索无用的常见词列表。有关详细信息,请参阅
    全文搜索的体系结构(SQL Server 2008)注意:
    非索引字表对象取代了 SQL Server 2005 和早期版本的干扰词文件。

  • SQL Server 查询处理器
    查询处理器编译并执行 SQL 查询。如果 SQL 查询包含全文搜索查询,则在编译和执行期间该查询都会发送到全文引擎。查询结果将与全文索引相匹配。有关详细信息,请参阅全文引擎。
  • 全文引擎
    SQL Server 中的全文引擎现已与查询处理器完全集成。全文引擎编译和执行全文查询。作为查询执行的一部分,全文引擎可能会接收来自同义词库和非索引字表的输入。在 SQL Server 2008 和更高版本中,SQL Server 的全文引擎在 SQL Server 查询处理器内部运行。
  • 索引编写器(索引器)
    索引编写器生成用于存储索引标记的结构。
  • 筛选器后台程序管理器
    筛选器后台程序管理器负责监视全文引擎筛选器后台程序宿主的状态。
  • 相关文章:

    • 2021-12-14
    • 2021-10-26
    • 2022-01-03
    • 2021-08-20
    • 2021-09-14
    • 2021-07-28
    • 2022-12-23
    • 2022-12-23
    猜你喜欢
    • 2022-12-23
    • 2021-06-10
    • 2021-09-19
    • 2021-06-08
    • 2021-08-23
    • 2021-12-23
    • 2022-03-01
    相关资源
    相似解决方案