Полнотекстовый каталог не обновляется - PullRequest
0 голосов
/ 09 января 2019

У меня есть таблица с различными столбцами, и 2 из них предназначены для полнотекстового поиска:

  1. file_data как varbinary (max)
  2. file_extension as nvarchar (8))

У меня также есть уникальный индекс в таблице. Затем я создал каталог следующим образом:

CREATE FULLTEXT CATALOG mycatalog
GO

CREATE FULLTEXT INDEX ON mytable
(  
    file_data
        TYPE COLUMN file_extension
        Language 1033
)  
KEY INDEX PK_mytable ON mycatalog
WITH CHANGE_TRACKING AUTO
GO  

Затем я добавил PDF-файлы следующим образом:

DECLARE @pdf VARBINARY(MAX)

SELECT @pdf = BulkColumn
FROM OPENROWSET(BULK N'C:\path\filename.pdf', SINGLE_BLOB) AS file_data;

INSERT INTO mytable (file_data, file_extension)
VALUES (@pdf, '.pdf')

Когда я выполняю полнотекстовый поиск с использованием FREETEXT, я не получаю результаты. Итак, я запускаю это представление:

SELECT * FROM sys.dm_fts_index_keywords(db_id('mydb'), object_id('dbo.mytable'))

И оно пустое. Я также запустил:

SELECT
    FULLTEXTCATALOGPROPERTY(cat.name,'ItemCount') AS [ItemCount],
    FULLTEXTCATALOGPROPERTY(cat.name,'MergeStatus') AS [MergeStatus],
    FULLTEXTCATALOGPROPERTY(cat.name,'PopulateCompletionAge') AS [PopulateCompletionAge],
    FULLTEXTCATALOGPROPERTY(cat.name,'PopulateStatus') AS [PopulateStatus],
    FULLTEXTCATALOGPROPERTY(cat.name,'ImportStatus') AS [ImportStatus]
FROM sys.fulltext_catalogs AS cat

И все значения равны 0, кроме PopulateCompletionAge, что является большим числом. Поэтому я попытался выполнить ручное заполнение с помощью:

ALTER FULLTEXT INDEX ON mytable START FULL POPULATION;  

И я получил это сообщение:

Предупреждение. Запрос на запуск заполнения полнотекстового индекса для таблицы или индексированного представления «mytable» игнорируется, поскольку в настоящий момент для этой таблицы или индексированного представления активно заполнение.

Я пропускаю шаг по настройке / заполнению каталога?

...