#sql-server #sql-server-2008 #full-text-search
#sql-сервер #sql-server-2008 #полнотекстовый поиск
Вопрос:
У меня есть таблица с каталогом FTS на SQL Server 2008 R2 CU5, который настроен на отслеживание изменений. Не удается отслеживать данные в течение дня, что вызывает проблемы с поиском; строки находятся в таблице, но не в каталоге FTS.
Каков наиболее эффективный способ идентифицировать строки в моей таблице, которые не были проиндексированы, чтобы я мог обновить их, чтобы они снова отслеживались изменениями отслеживания FTS для заполнения в индексе?
Спасибо
Ответ №1:
Не получив ответа, это то, что я делаю в данный момент; Я не уверен, что это самый эффективный способ, но еще не придумал способ его оптимизации.
Найдите интересующий меня идентификатор таблицы
DECLARE @TableID INT, @Debug bit = 1
SELECT @TableID = id
FROM sysobjects WHERE name = 'tblMyTableOfFacts'
задайте таблицу, чтобы получить список всех индексированных строк
DECLARE @MissingIndexValues TABLE (DocID INT, rowID UNIQUEIDENTIFIER)
Используя встроенный индекс, извлеките список всех индексированных строк
INSERT INTO @MissingIndexValues
EXEC sp_fulltext_keymappings @TableID