全文檢索搜尋架構

全文檢索搜尋是由全文檢索引擎所提供。此全文檢索引擎扮演兩個角色:索引支援和查詢支援。

從 SQL Server 2008 開始,全文檢索搜尋架構是由下列處理序所組成:

  • SQL Server 處理序 (sqlservr.exe)

    [!附註]

    MSFTESQL 服務不存在 SQL Server 2008 和更新版本中。在 SQL Server 2005 和先前版本中,由 MSFTESQL 服務所執行的全文檢索工作現在是由 SQL Server 處理序執行。

  • 篩選背景程式主機處理序 (fdhost.exe)

    基於安全性理由,從 SQL Server 2008 開始,篩選是由稱為篩選背景程式主機的個別處理序載入。伺服器執行個體會針對所有多執行緒篩選使用多執行緒處理序,而針對所有單一執行緒篩選使用單一執行緒處理序。

    [!附註]

    fdhost.exe 取代了 SQL Server 2005 和舊版的全文檢索引擎篩選背景程式 (msftefd.exe)。

    FDHOST 啟動器服務 (MSSQLFDLauncher) 會建立 fdhost.exe 處理序,而且這些處理序會在 FDHOST 啟動器服務帳戶的安全性認證底下執行。因此,您必須執行這個服務,才能讓全文檢索索引和全文檢索查詢運作。如需有關設定此服務之服務帳戶的詳細資訊,請參閱<如何:為全文檢索搜尋設定 FDHOST 啟動器 (MSSQLFDLauncher) 服務帳戶 (SQL Server 組態管理員)>。

這些處理序包含全文檢索搜尋架構的元件。下圖將摘要列出這些元件及其關聯性。這些元件將在該圖之後描述。

全文檢索搜尋結構

SQL Server 處理序

全文檢索搜尋會使用 SQL Server 處理序的下列元件:

  • 使用者資料表

    這些資料表包含要進行全文檢索索引的資料。

  • 全文檢索收集程式

    全文檢索收集程式會使用全文檢索搜耙執行緒。此元件負責排程和驅動全文檢索索引母體擴展,以及監視全文檢索目錄。

    [!附註]

    從 SQL Server 2008 開始,全文檢索目錄是虛擬物件,而且不屬於任何檔案群組。全文檢索目錄是參考一組全文檢索索引的邏輯概念。

  • 同義字檔案

    這些檔案包含搜尋詞彙的同義字。如需詳細資訊,請參閱<同義字組態>。

  • 停用字詞表物件

    停用字詞表物件包含對搜尋沒有任何幫助之常見單字的清單。如需詳細資訊,請參閱<停止字詞和停止清單>。

    [!附註]

    停用字詞表物件取代了 SQL Server 2005 和先前版本的非搜尋字檔案。

  • SQL Server 查詢處理器

    查詢處理器會編譯並執行 SQL 查詢。如果某個 SQL 查詢包含全文檢索搜尋查詢,該查詢就會在編譯和執行期間傳送至全文檢索引擎。系統會針對全文檢索索引比對查詢結果。如需詳細資訊,請參閱<全文檢索引擎>。

  • 全文檢索引擎

    SQL Server 中的全文檢索引擎現在已經與查詢處理器完全整合了。全文檢索引擎會編譯並執行全文檢索查詢。在查詢執行期間,全文檢索引擎可能會收到來自同義字和停用字詞表的輸入。在 SQL Server 2008 和更新版本中,Full-Text Engine for SQL Server 會在 SQL Server 查詢處理器內部執行。

  • 索引寫入器 (索引子)

    索引寫入器會建立用來儲存索引 Token 的結構。

  • 篩選背景程式管理員

    篩選背景程式管理員會負責監視全文檢索引擎篩選背景程式主機的狀態。

篩選背景程式主機

篩選背景程式主機是全文檢索引擎所啟動的處理序。它會執行下列全文檢索搜尋元件,而這些元件會負責存取、篩選和斷詞處理資料表的資料,以及斷詞處理和詞幹分析查詢輸入:

篩選背景程式主機的元件如下所示:

  • 通訊協定處理常式

    這個元件會從記憶體中提取資料以便進一步處理,而且會從指定之資料庫中的使用者資料表中存取資料。其中一項責任就是從建立全文檢索索引的資料行中蒐集資料,並將資料傳遞給篩選背景程式主機,然後此處理序將會視需要套用篩選和斷詞工具。.

  • 篩選工具

    某些資料類型需要先篩選,然後才能針對文件中的資料建立全文檢索索引,包括 varbinary、varbinary(max)、image 或 xml 資料行中的資料。用於給定文件的篩選會因其文件類型而不同。例如,Microsoft Word (.doc) 文件、Microsoft Excel (.xls) 文件和 XML (.xml) 文件會使用不同的篩選。然後,篩選會從文件中擷取文字區塊,並且移除內嵌的格式,並保留文字和文字位置的相關資訊。其結果就是文字資訊的資料流。如需詳細資訊,請參閱<全文檢索搜尋篩選>。

  • 斷詞工具和字幹分析器

    斷詞工具是一項語言特有的元件,它會根據給定語言的語彙規則來尋找文字分界 (「斷詞」(Word Breaking))。每個斷詞工具都與語言特有的字幹分析器元件相關聯,而且此元件會進行動詞變化和執行字形擴展。建立索引時,篩選背景程式主機會使用斷詞工具和字幹分析器,針對來自給定資料表資料行的文字資料執行語言分析。與全文檢索索引中資料表資料行相關聯的語言會決定哪些斷詞工具和字幹分析器要用於建立該資料行的索引。如需詳細資訊,請參閱<斷詞工具與字幹分析器>。

    [!附註]

    如需有關所有全文檢索語言元件的詳細資訊,請參閱<設定全文檢索語言元件>。