管理與監控語意搜尋

適用於:SQL Server

本文將介紹如何檢查索引狀態與大小、強制人口,以及停用或重新啟用語意索引。 語意索引與全文索引同時分為兩個階段。

檢查語意索引的狀態

語意索引的第一個階段是否已完成?

查詢 sys.dm_fts_index_population 動態管理檢視,並檢查 status 和 status_description 欄位。

索引的第一個階段包括填入全文檢索關鍵字索引和語意關鍵語句索引,以及萃取文件相似度資料。

USE database_name;
GO

SELECT *
FROM sys.dm_fts_index_population
WHERE table_id = OBJECT_ID('table_name');
GO

語意索引的第二個階段是否已完成?

查詢 sys.dm_fts_semantic_similarity_population 動態管理檢視,並檢查 status 和 status_description 欄位。

索引的第二個階段包括填充語義文檔相似度索引。

USE database_name;
GO

SELECT *
FROM sys.dm_fts_semantic_similarity_population
WHERE table_id = OBJECT_ID('table_name');
GO

檢查語意索引的大小

語意主要片語索引或語意文件相似度索引的邏輯大小為何?

查詢 sys.dm_db_fts_index_physical_stats 動態管理檢視。

邏輯大小會以索引頁面的數目表示。

USE database_name;
GO

SELECT *
FROM sys.dm_db_fts_index_physical_stats
WHERE object_id = OBJECT_ID('table_name');
GO

全文檢索目錄的全文檢索索引與語意索引的總大小為何?

查詢 IndexSizeFULLTEXTCATALOGPROPERTY 元資料函式的屬性。

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'IndexSize');
GO

在全文檢索目錄中,全文索引和語意索引包含了多少項目?

查詢 ItemCountFULLTEXTCATALOGPROPERTY 元資料函式的屬性。

SELECT FULLTEXTCATALOGPROPERTY('catalog_name', 'ItemCount');
GO

強制填充語意索引

你可以使用 START、STOP、PAUSE 或 RESUME POPULATION 子句,以全文索引所述的相同語法和行為,強制填入全文索引和語意索引。 欲了解更多資訊,請參閱 ALTER FULLTEXT INDEX 及 填寫 Full-Text 索引。

因為語意索引依賴於全文檢索索引,所以只有當關聯的全文檢索索引填入時,才會填入語意索引。

範例:建立一個完整的全文與語意索引族群

以下範例會透過修改 AdventureWorks2025 範例資料庫中 Production.Document 資料表上的既有全文索引,開始對全文索引和語意索引進行完整填入。

USE AdventureWorks2025;
GO

ALTER FULLTEXT INDEX ON Production.Document
    START FULL POPULATION;
GO

停用或重新啟用語意索引

您可以使用與全文索引相同的語法與行為的 ENABLE or DISABLE 子句來啟用或停用全文索引或語意索引。 如需詳細資訊,請參閱 ALTER FULLTEXT INDEX。

當語意索引已停用且暫停時,語意資料的查詢會持續順利運作,並傳回之前的索引資料。 這種行為與 Full-Text 搜尋的行為不符。

-- To disable semantic indexing on a table
USE database_name;
GO

ALTER FULLTEXT INDEX ON table_name DISABLE;
GO

-- To re-enable semantic indexing on a table
USE database_name;
GO

ALTER FULLTEXT INDEX ON table_name ENABLE;
GO

關於語意索引的階段

語意搜尋會為每個啟用欄位索引兩種資料:

  1. 關鍵片語

  2. 文件相似度

語意索引的進行分為兩個階段,並且與全文檢索一起進行:

  1. 階段 1. 全文關鍵字索引和語意關鍵片語索引會平行同步建立。 此時也會擷取建立文件相似度索引所需的資料。

  2. 階段 2: 然後會擴展語意文件相似度索引。 此索引取決於上一個階段中已填充的兩個索引。

問題:語意索引未被填入

是否已填充相關的全文索引?

因為語意索引依賴於全文檢索索引,所以只有當關聯的全文檢索索引填入時,才會填入語意索引。

Full-Text 搜尋和語意搜尋是否正確安裝與設定?

如需詳細資訊,請參閱 安裝及設定語意搜尋。

是 fdhost 服務無法使用,還是有其他情況會導致全文索引失敗?

如需詳細資訊,請參閱 全文索引疑難排解。