我如何知道 SQL 服务器全文搜索何时已将记录编入索引?
How can I know when SQL Server Full Text Search has indexed a record?
我的问题与这个类似:
How can I know when SQL Full Text Index Population is finished?
我只需要知道 SQL 服务器全文搜索 (FTS) 是否已经索引了 table.
中的某些记录,而不是整个索引的人口状况
换句话说,给定一个来自 table 的键,有没有办法检查该行是否已经被 FTS 守护程序拾取、分析并包含到相应的 FTS 索引中?
问题是因为我想搭载 FTS 并使用 CONTAINS 检查新添加的行是否符合某些条件。
使用sp_fulltext_keymappings。如果此结果集中存在 key = [primary key value from your table]
的记录,则索引 table 记录。
要获取已编入索引的所有记录的列表:
declare @objectId int = OBJECT_ID('dbo.Table1')
exec sp_fulltext_keymappings @objectId
要确定单个记录是否已编入索引,请将主键值作为下面查询中的第三个参数传递。如果结果集为空,则记录未编入索引。
declare @objectId int = OBJECT_ID('dbo.Table1')
exec sp_fulltext_keymappings @objectId, null, 1
我的问题与这个类似: How can I know when SQL Full Text Index Population is finished? 我只需要知道 SQL 服务器全文搜索 (FTS) 是否已经索引了 table.
中的某些记录,而不是整个索引的人口状况换句话说,给定一个来自 table 的键,有没有办法检查该行是否已经被 FTS 守护程序拾取、分析并包含到相应的 FTS 索引中?
问题是因为我想搭载 FTS 并使用 CONTAINS 检查新添加的行是否符合某些条件。
使用sp_fulltext_keymappings。如果此结果集中存在 key = [primary key value from your table]
的记录,则索引 table 记录。
要获取已编入索引的所有记录的列表:
declare @objectId int = OBJECT_ID('dbo.Table1')
exec sp_fulltext_keymappings @objectId
要确定单个记录是否已编入索引,请将主键值作为下面查询中的第三个参数传递。如果结果集为空,则记录未编入索引。
declare @objectId int = OBJECT_ID('dbo.Table1')
exec sp_fulltext_keymappings @objectId, null, 1