适用范围: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 和 填充全文索引。
由于语义索引编制依赖于全文索引编制,因此仅在填充关联的全文索引后填充语义索引。
示例:创建一个完整的全文索引和语义索引群体
以下示例通过修改 AdventureWorks2025 示例数据库中 Production.Document 表上的现有全文索引,启动全文索引和语义索引的完全填充。
USE AdventureWorks2025;
GO
ALTER FULLTEXT INDEX ON Production.Document
START FULL POPULATION;
GO
禁用或重新启用语义索引
您可以使用 ENABLE 或 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: 然后填充语义文档相似性索引。 此索引依赖于在前一阶段填充的两个索引。
问题:语义索引未被填充
是否已填充关联的全文索引?
由于语义索引编制依赖于全文索引编制,因此仅在填充关联的全文索引后填充语义索引。
Full-Text 搜索和语义搜索是否正确安装和配置?
有关详细信息,请参阅 安装和配置语义搜索。
是fdhost服务不可用吗,还是有其他情况会导致全文索引失败?
有关详细信息,请参阅排查全文索引问题。